首页 文章

Tomcat 8 SSL与ArcGIS服务器

提问于
浏览
2

我正在尝试在Apache Tomcat 8上运行一个Web应用程序,以使用自签名证书联系运行ArcGIS Server的IIS服务 .

我已在IIS中为ArcGIS服务器配置了自签名证书,并且该工作正常,但我无法通过Tomcat中的Web应用程序联系该服务 .

2 回答

  • 1

    最简单的方法是使用JDK的 keytool 实用程序将自签名证书添加到运行Tomcat的JRE的信任库中 . 信任库是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的信任库 .

  • 1

    不幸的是,这实际上与Tomcat本身没有任何关系,因为Tomcat没有 Build 从Web应用程序到ArcGIS服务器的HTTP连接 . 无论您使用什么组件访问其他服务器,都需要知道可以信任该证书 .

    您需要将服务器的(公共)证书导入Java密钥库(称为"trust store",因为您信任其中的密钥而不是存储私钥),并告诉任何组件(http-client, HttpURLConnection 等)在进行传出连接时使用该信任存储 .

    如果您只有一个运行tomcat的Web应用程序,则可以使用以下系统属性为整个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代码 . 弄错了,什么都行不通 .

相关问题