常见问题

常见问题解答:如何针对 ArcGIS Engine Java Interop 启用 TLS 1.2?

Last Published: April 28, 2021

答案

ArcGIS Engine 提供 Java interop,以允许开发人员创建使用 Engine 基础 GIS 处理功能的 Java 应用程序。 是否需要执行任何操作取决于所使用的 Java 版本。

注: 有关每个 ArcGIS Engine 发行版本的支持状态,请参阅 Esri 支持网站上的产品生命周期页面

ArcGIS Engine 10.4 至 10.7 版本:
随附 Java 8 的这些版本均为即用型版本,无需执行任何操作,即可将 TLS 1.2 和 Java 8 Engine 应用程序配合使用。

ArcGIS Engine 10.2.1 至 10.3.1 版本:
如果 Java 应用程序可直接访问 TLS 1.2 服务,则随附 Java 7 的这些版本必须启用 TLS 1.2。
如果您继续使用 Java 7 运行其中一个旧版本 ArcGIS Engine,则系统提供以下两个选项:

  • 选项 1(推荐) - 升级到支持 Java 8 的最新版本 ArcGIS Engine。
  • 选项 2 - 启用 Java 7 应用程序中对于 TLS 1.2 的访问权限,如下所示:

默认情况下,Java 7 未启用 TLS 1.2 安全性设置,但可以通过以下方法进行启用。 在 Java 7 上运行的 ArcGIS Engine 应用程序可以通过在应用程序的启动阶段(尝试连接到安全服务之前)添加以下代码行来利用 TLS 1.2 安全性:

try { SSLContext ctx = SSLContext.getInstance("TLSv1.2"); ctx.init(null, null, null); SSLContext.setDefault(ctx); } catch (Exception e) { System.out.println(e.getMessage()); }

虽然在 Java 7 上运行的 ArcGIS Engine 应用程序中启用 TLS 1.2 应该不会导致任何问题,但可能并非总是如此。 例如,通过地图文档 (.mxd) 连接到安全服务的应用程序以及使用 MapBean 组件进行可视化的应用程序应该可以正常工作,因为在这种情况下将不使用 Java 连接协议。

文章 ID:000019452

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

相关信息

发现关于本主题的更多内容