我通过使用 生成 csr 来请求证书。 openssl .我有私钥文件。现在我想将证书安装在要在 tomcat 中使用的 keystore 中。我尝试了以下方法:
openssl pkcs12 -export -in website_com.crt -inkey website_com.key -name tomcat -out website_com.p12
keytool -importkeystore -deststorepass mypass -destkeystore somename.jks -srckeystore website_com.p12 -srcstoretype PKCS12
导入成功,并在 somename.jks 中创建了 tomcat 别名。用于 ssl 端口的 Tomcat 连接器:
< Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" URIEncoding="UTF-8">
<!-- <SSLHostConfig sslProtocol="TLS" sslEnabledProtocols="TLSv1.2" -->
<SSLHostConfig protocols="TLSv1.3"
ciphers="TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_256_GCM_SHA384,
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384,
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_EMPTY_RENEGOTIATION_INFO_SCSVF">
<Certificate certificateKeystoreFile="D:\apache-tomcat-9.0.37\conf\somename.jks"
certificateKeystorePassword="mypass"
certificateKeyAlias="tomcat"
type="RSA" />
</SSLHostConfig>
</Connector>
终端窗口截图知道我在做什么错吗?
P.S 无法生成新的 CSR 并请求新的证书
最佳答案
我通过使用第一步生成的 p12 文件而不是使用 .jks 文件解决了这个问题。
< Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" URIEncoding="UTF-8">
<SSLHostConfig protocols="TLSv1.3"
<Certificate certificateKeystoreFile="D:\apache-tomcat-9.0.37\conf\somename.p12"
CertificateKeystorePassword="mypass"
certificateKeystoreType="PKCS12"
type="RSA" />
</SSLHostConfig>
</Connector>
关于java - 别名 "tomcat"不能识别 key 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67209643/