gpt4 book ai didi

java - 难以将 SSL 证书安装到 Tomcat 中

转载 作者:行者123 更新时间:2023-11-28 23:12:04 25 4
gpt4 key购买 nike

我很难将 SSL 证书安装到我的 Tomcat 9 Win7 开发环境中。据我了解,Tomcat SSL 必须使用创建证书时使用的现有私钥的别名导入证书。我已经使用我的 LIUNX 生产系统从 Godady 获得了证书,并按照他们的说明在我的 Win7 开发机器上使用 –genkey 选项创建了 keystore ,导入了根证书并使用用于创建的相同别名导入了开发证书 keystore 。

但是,当我导入开发证书时,我收到一条错误消息,指出导入别名引用的 key 与证书生成时使用的 key 不兼容(-genkey 选项)。

keytool error: java.lang.Exception: Public keys in reply and keystore don't match

我有用于请求证书作为 .key 文件的私钥,但它不会导入到 keystore 中,并给出一个错误,即该文件不是有效的 x509 证书。私有(private) .key 文件可读为文本文件,格式如下:

-----BEGIN PRIVATE KEY----- 

-----END PRIVATE KEY-----

我也不确定我导入的捆绑证书是根证书,还是我需要另一个证书,但我认为这不是导致此问题的原因,在尝试实际使用该证书时,这可能是一个挑战。这些是我使用的命令。任何帮助将不胜感激。

REM Create the keystore
keytool -alias tomcat -keysize 2048 -genkey -keyalg RSA -keystore tomcat.keystore

REM Imnport the root cert
keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file gd_bundle-g2-g1.crt

REM Import the dev cert
keytool -import -alias tomcat -keystore tomcat.keystore -trustcacerts -file my_dev_cert.crt

最佳答案

我想出了如何做到这一点。重要的部分是创建一个包含证书和私钥的临时 keystore ,然后将整个临时 keystore 导入目标 tomcat keystore 。需要 openssl 来执行此操作。以下是成功将 SSL 证书安装到 tomcat 的步骤的回顾:

REM Run on LINUX.  This makes a new keystore with the cert and private key in it.  Then import the whole keystore into the Tomcat keystore
sudo openssl pkcs12 -export -in mycert.crt -inkey mycertsprivatekey.key -name myalias -out tempkeystore.p12

copy temp keystore to windows.

REM Run on Windows. Create the tomcat keystore
keytool -keysize 2048 -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore

REM Import the root cert
keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file gd_bundle-g2-g1.crt

REM Import the temp keystore with the real private key and cert into the real keystore
keytool -importkeystore -deststorepass XXXXXX -destkeystore tomcat.keystore -srckeystore tempkeystore.p12 -srcstoretype PKCS12

REM Check the keystore contents
keytool -list -keystore tomcat.keystore

REM Configure tomcat server.xml using the above -name option as the key alias

<Connector
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="/dev/ssl/tomcat.keystore" keystorePass="XXXXXX" keyAlias="myalias"
clientAuth="false" sslProtocol="TLS"/>

关于java - 难以将 SSL 证书安装到 Tomcat 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56687748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com