代码之家  ›  专栏  ›  技术社区  ›  Javier Oliver

Tomcat 8 SSL与ArcGIS服务器

  •  2
  • Javier Oliver  · 技术社区  · 10 年前

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

    我已经在IIS中为ArcGIS服务器配置了一个自签名证书,这是正确的,但我在Tomcat中无法从web应用程序联系该服务。

    2 回复  |  直到 10 年前
        1
  •  1
  •   Gary Sheppard    10 年前

    最简单的方法是使用JDK的 keytool 公用事业信任存储是Java密钥库,在本例中是一个名为 cacerts 在里面 /path/to/java/lib/security 。下面是命令:

    $ keytool -import -alias mycert -file /path/to/cert.cer -keystore /path/to/java/lib/security/cacerts
    

    它将询问您信任存储的密码。JRE信任存储的默认密码为 changeit .

    要记住的事项:

    • 如果将证书添加到JRE的信任存储,则使用该JRE运行的每个应用程序都将信任该证书。
    • 如果升级JRE或安装新的JRE,其信任存储区将不会包含证书,因此您必须记住将证书添加到新的JRE信任存储区。
        2
  •  1
  •   Christopher Schultz    10 年前

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

    您需要将服务器的(公共)证书导入Java密钥库(称为“信任库”,因为您信任其中的密钥,而不是存储私钥),并告诉任何组件(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客户端)支持轻松设置信任存储,因为自己编写代码需要几十行容易出错的Java代码,而且什么都不起作用。

    推荐文章