4

我是 tomcat 管理的新手。

我的要求是,admin用户可以上传需要应用到tomcat的证书文件。

目前,我的 tomcat server.xml,连接器标签看起来像

<Connector port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" clientAuth="false" sslProtocol="TLS" acceptCount="100" scheme="https" secure="true" keystoreFile="${catalina.base}/conf/tomcat.p12" keystoreType="PKCS12" keystoreAlias="tomcat" keystorePass="password" SSLEnabled="true"/>

在运行时,管理员用户可以使用提供的门户网站上传新的 .p12 证书文件和密码。在服务器端,我必须使用 java 更新标签的参数keystoreFilekeystorePass参数。Connector

这样它就需要新的证书文件。

在我的搜索中,有些人建议使用 2 server.xml 文件。有些人告诉编辑 server.xml 文件。在 tomcat 文档中提到,因为此参数可在系统环境中配置并且可以直接更新。

我尝试更新系统环境参数认为这是简单的解决方案,但没有成功(可能是我做错了)。

另外,我想知道是否有任何解决方案可以在不重启 tomcat 的情况下应用我的更改。有人可以帮助我满足此要求的正确方法是什么。

处理此类要求的任何链接都会有所帮助。

4

1 回答 1

0

这应该是评论,因为我的建议不是完整的答案,但我会在评论中用完空间。

只想确认一下。您想更新用于验证您的 SSL 连接的证书,我问的原因通常是 tomcat 在 apache 之后,并且 ssl 由 apache 而不是 tomcat 处理。如果您想添加证书以向客户端验证 ssl(例如,他有自签名证书),您不要在连接器上执行此操作。

这不是最简单的吗,如果在证书上传时重命名它并将其始终放在相同的路径(并使用相同的密码),这样您就不必更新 server.xml。

您可以轻松检查更新是否在不重新启动的情况下工作(只需更换证书,看看会发生什么),但我对此表示怀疑。您可以检查连接器实现的源代码(只需打开正确的源代码,因为它们目前是 3 个 iplementations),看看您是否可以修改它以触发密钥库更新。

最后,你真的想提供这样的功能吗?对证书的操纵越少,您就越安全。

于 2015-02-24T12:02:37.243 回答