Tomcat 8 SSL 与 ArcGIS 服务器
Tomcat 8 SSL with ArcGIS server
我正在尝试在 Apache Tomcat 8 上获取 Web 应用程序 运行 以使用自签名证书联系 IIS 服务 运行 ArcGIS Server。
我已经在 IIS 中为 ArcGIS 服务器配置了一个自签名证书,它工作正常,但我无法从 Tomcat 中的 Web 应用程序联系该服务。
不幸的是,这实际上与 Tomcat 本身没有任何关系,因为 Tomcat 没有建立从您的 Web 应用程序到 ArcGIS 服务器的 HTTP 连接。无论您使用什么组件访问其他服务器,都需要知道可以信任该证书。
您需要将服务器的 (public) 证书导入 Java 密钥库(称为 "trust store",因为您信任其中的密钥而不是存储私钥),并告诉任何组件(http 客户端、HttpURLConnection
等)在建立传出连接时使用该信任库。
如果您只有一个 Web 应用程序 运行 tomcat,您可以使用这些系统属性为整个 JVM 设置信任库:
javax.net.ssl.trustStore (file path to the trust store)
javax.net.ssl.trustStorePassword (the password to the trust store)
如果你必须单独配置Web应用程序,你最好希望你使用的组件(例如http-client)支持轻松设置信任库,因为自己编写代码需要几十行Java 容易出错的代码,什么都不行。
最简单的方法是将自签名证书添加到 运行s Tomcat 的 JRE 的信任库中,使用 JDK 的 keytool
公用事业。信任库是 Java 密钥库,在本例中是 /path/to/java/lib/security
中名为 cacerts
的文件。这是命令:
$ keytool -import -alias mycert -file /path/to/cert.cer -keystore /path/to/java/lib/security/cacerts
它将向您询问信任库的密码。 JRE 信任库的默认密码是 changeit
.
注意事项:
- 如果您将证书添加到 JRE 的信任库,您 运行 使用该 JRE 的每个应用程序都将信任该证书。
- 如果您升级 JRE 或安装新的 JRE,其信任库将不包含证书,因此您必须记住将证书添加到新 JRE 的信任库。
我正在尝试在 Apache Tomcat 8 上获取 Web 应用程序 运行 以使用自签名证书联系 IIS 服务 运行 ArcGIS Server。
我已经在 IIS 中为 ArcGIS 服务器配置了一个自签名证书,它工作正常,但我无法从 Tomcat 中的 Web 应用程序联系该服务。
不幸的是,这实际上与 Tomcat 本身没有任何关系,因为 Tomcat 没有建立从您的 Web 应用程序到 ArcGIS 服务器的 HTTP 连接。无论您使用什么组件访问其他服务器,都需要知道可以信任该证书。
您需要将服务器的 (public) 证书导入 Java 密钥库(称为 "trust store",因为您信任其中的密钥而不是存储私钥),并告诉任何组件(http 客户端、HttpURLConnection
等)在建立传出连接时使用该信任库。
如果您只有一个 Web 应用程序 运行 tomcat,您可以使用这些系统属性为整个 JVM 设置信任库:
javax.net.ssl.trustStore (file path to the trust store)
javax.net.ssl.trustStorePassword (the password to the trust store)
如果你必须单独配置Web应用程序,你最好希望你使用的组件(例如http-client)支持轻松设置信任库,因为自己编写代码需要几十行Java 容易出错的代码,什么都不行。
最简单的方法是将自签名证书添加到 运行s Tomcat 的 JRE 的信任库中,使用 JDK 的 keytool
公用事业。信任库是 Java 密钥库,在本例中是 /path/to/java/lib/security
中名为 cacerts
的文件。这是命令:
$ keytool -import -alias mycert -file /path/to/cert.cer -keystore /path/to/java/lib/security/cacerts
它将向您询问信任库的密码。 JRE 信任库的默认密码是 changeit
.
注意事项:
- 如果您将证书添加到 JRE 的信任库,您 运行 使用该 JRE 的每个应用程序都将信任该证书。
- 如果您升级 JRE 或安装新的 JRE,其信任库将不包含证书,因此您必须记住将证书添加到新 JRE 的信任库。