如何在Ubuntu中为Tomcat设置SSL证书

kxkpmulp  于 2024-01-08  发布在  其他
关注(0)|答案(1)|浏览(242)

我使用https://zerossl.com作为证书,他们为我提供了这些文件:

  • ca_bundle.crt
  • certficate.crt
  • private.key

然后我运行这些命令
生成p12文件

  1. openssl pkcs12 -export -in certificate.crt -inkey private.key -out keystore.p12 -name tomcat -CAfile ca_bundle.crt -caname root -chain

字符串
生成JKS文件

  1. keytool -importkeystore -srckeystore certifcate.p12 -srcstoretype pkcs12 -destkeystore mykeystore.jks -deststoretype pkcs12


然后我编辑我的/opt/tomcat/conf/server. xml

  1. <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
  2. maxThreads="150" scheme="https" secure="true"
  3. keystoreFile="/path/to/your/keystore.jks" keystorePass="your_keystore_password"
  4. keyAlias="tomcat" keyPass="your_key_password"
  5. clientAuth="false" sslProtocol="TLS" />


我不知道为什么SSL证书不起作用。如果有人告诉我我错过了什么,我会很感激。

km0tfn4u

km0tfn4u1#

所以你做得太多了。你不需要把密钥转换成JKS密钥库。JKS是Java最初的密钥库格式,是一种合适的格式。从那时起,PKCS 12出现了,Java终于支持了,所以我建议只使用你的p12文件,并配置tomcat来读取PKCS 12,而不是尝试使用JKS。
但是,对于一个快速的答案,你从PKCS 12转换例程-> JKS是不是保存一个JKS文件。-deststoretype pkcs12应该是-deststoretype JKS然而,我们要为PKCS 12做这件事,因为这是“未来”。
无论如何,这里是如何在Tomcat中使用P12证书的。

  1. <Connector port="8443"
  2. protocol="org.apache.coyote.http11.Http11NioProtocol"
  3. SSLEnabled="true"
  4. maxThreads="150"
  5. scheme="https"
  6. secure="true"
  7. clientAuth="false"
  8. sslProtocol="TLS"
  9. keystoreFile="/your/path/certificate.p12"
  10. keystorePass="xxxxsomething_secretxxxxx"
  11. keystoreType="PKCS12" />

字符串

展开查看全部

相关问题