中文
Continue in the app
Be The First To Get Support Updates
Want to know about the latest technical content and software updates?

常见问题解答:强制执行仅限 TLS 1.2 连接时,ArcObjects SDK 对 Microsoft .NET Framework 和 ArcGIS Engine .NET 客户端应用程序有何影响?

问题

常见问题解答:强制执行仅限 TLS 1.2 连接时,ArcObjects SDK 对 Microsoft .NET Framework 和 ArcGIS Engine .NET 客户端应用程序有何影响?

答案

Esri 正在计划自 2019 年 4 月 16 日起要求 ArcGIS Online 服务使用 TLS 1.2 连接。 当仅限 TLS 1.2 与 ArcGIS Online 连接的资源有效时,在为 Microsoft .NET Framework 应用程序(包括 ArcGIS Engine for .NET)创建新的 ArcObjects SDK 或运行现有 ArcObjects SDK 时,需要考虑一些事项。 在 10.7 版本中,桌面软件已配置为使用 TLS 1.2,无需任何操作即可启用 TLS 1.2。

如果通过使用 ArcGIS 入站连接的旧版 ArcObjects .NET 创建的 客户端应用程序在仅切换到 TLS 1.2 后未启用 TLS 1.2,则您的集成可能会遇到中断。

可以对使用 .NET 4.6 之前版本构建的 ArcObjects .NET 和 Engine 应用程序进行以下更改:

  1. 基于 .NET Framework 4.6 或更高版本重新编译应用程序以启用 TLS 1.2,因为 4.6 版本在默认情况下与 TLS 1.2 兼容 (无需更改代码)。
  2. 在 4.5.x 版本中,.NET 应用程序支持 TLS 1.2 协议,但非默认值,即使操作系统环境已设置为 TLS 1.2 时也是如此。 根据 ArcGIS 平台 SSL/TLS 支持和配置简报中的第 9 页所述,需要更改物理代码。 有关如何在应用程序中设置此值的示例,请参见以下注释
  3. 在 4.0 版本中,.NET 应用程序在默认情况下不启用 TLS 1.2。 要在默认情况下启用 TLS 1.2,可以安装 .NET Framework 4.5 或更高版本,并将以下两个注册表项中的 SchUseStrongCrypto DWORD 值设置为 1,如果它们不存在则需进行创建:
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 和
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework \v4.0.30319
      但是,这些注册表项可以在该系统上所有已安装的 .NET 4.0、4.5、4.5.1 和 4.5.2 应用程序中默认启用 TLS 1.2。 我们建议在将此更改部署到生产服务器之前对其进行测试。 但是,这些注册表值不会影响已设置 System.Net.ServicePointManager.SecurityProtocol 值的 .NET 应用程序。
:
.NET 应用程序可以通过设置 System.Net.ServicePointManager.SecurityProtocol 直接启用 TLS 1.2,以启用 SecurityProtocolType.Tls12,如以下示例所示。
示例 (C#):
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

可以在 ArcGIS 平台和传输层安全性 (TLS) 协议支持的重要更新页面上找到有关过渡到 Esri 平台的 TLS 1.2 的其他资源,包括对 Microsoft 开发人员文档 和 Esri 产品安全团队的引用。

HTTP
关于在旧版应用程序中使用 HTTP,请注意,随着未来的 ArcGIS Online 安全更新,所有组织都仅可以使用 HTTPS,因为这已成为业界的标准做法。

之前使用 HTTP 的 ArcObjects .NET 应用程序可能会遇到使用 HTTPS 的证书错误,因为客户端计算机的证书存储区中没有相关证书。 因此,必须相应地配置客户端计算机(例如,添加到证书存储区的相关证书)。 对于测试和开发,可以创建服务器“测试”证书。 这可以允许开发人员针对仅支持 HTTPS 的测试服务器测试其客户端代码,而无需从证书颁发机构请求证书。 这对于 intranet 情景来说很常见。

有关 TLS 1.2 的详细信息,请参阅 Esri 技术支持 文档: ArcGIS 平台和传输层安全性 (TLS) 协议支持的重要更新

上次修改时间: 4/26/2019

文章 ID: 000019966