Apache Tomcat 8.5 Truststore创建及相关技术问题咨询
Tomcat 8.5 服务器间TLS加密连接配置指南
一、检查服务器是否存在可用Truststore
- JDK/JRE默认自带一个全局Truststore,默认路径为
${JAVA_HOME}/jre/lib/security/cacerts(路径需根据实际JDK安装位置调整) - 验证方法:执行
keytool命令查看文件内容keytool -list -keystore ${JAVA_HOME}/jre/lib/security/cacerts - 默认密码为
changeit,若能正常列出证书列表,说明该Truststore可用;若文件不存在,则需手动创建自定义Truststore。
二、创建自定义Truststore
若需使用独立的Truststore(而非默认全局文件),可按以下步骤操作:
- 生成空的JKS格式Truststore文件
执行后按提示输入Truststore密码、证书相关信息即可。keytool -genkeypair -alias truststore-alias -keyalg RSA -keysize 2048 -storetype JKS -keystore my-truststore.jks - 导入Web服务器证书到Truststore(用于应用服务器信任Web服务器身份)
先从Web服务器的Keystore导出证书:
再将证书导入自定义Truststore:keytool -exportcert -alias tomcat-keystore-alias -keystore your-existing-keystore.jks -file tomcat-server.crt
注意替换命令中的别名、文件名为实际值。keytool -importcert -alias tomcat-trust-alias -file tomcat-server.crt -keystore my-truststore.jks
三、创建Truststore后的核心疑问解答
- Tomcat上的Web应用链接能否正常运行?
可以正常运行。你当前配置的Truststore仅用于应用服务器与Web服务器之间的TLS认证,Web服务器对外提供服务的HTTPS配置仍依赖原server.xml中的Keystore,两者互不影响,对外访问不受任何干扰。 - 是否需要更新已配置Keystore信息的server.xml文件?
不需要。你的需求是保护应用服务器到Web服务器的连接,仅需在应用服务器端配置Truststore以信任Web服务器的证书即可;只有当需要启用双向TLS认证(Web服务器同时验证应用服务器身份)时,才需要在Tomcat的server.xml中添加Truststore相关配置,示例如下:
若仅需单向加密(应用服务器信任Web服务器),无需修改<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="conf/your-keystore.jks" type="RSA" certificateTruststoreFile="conf/my-truststore.jks" certificateTruststorePassword="your-truststore-password"/> </SSLHostConfig> </Connector>server.xml。
内容的提问来源于stack exchange,提问作者user112a2
相关产品推荐
相关产品推荐

