我试图理解为什么我需要这个链 (p7b)。我之前导入过证书,但我不需要。我能以某种方式绕过这个问题吗?
我收到一个错误 - keytool 错误:java.lang.Exception:输入的不是 X.509 证书
java.lang.Exception: Input not an X.509 certificate
at sun.security.tools.KeyTool.addTrustedCert(KeyTool.java:1913)
at sun.security.tools.KeyTool.doCommands(KeyTool.java:818)
at sun.security.tools.KeyTool.run(KeyTool.java:172)
at sun.security.tools.KeyTool.main(KeyTool.java:166)
我有两个来自 godaddy 的文件 - certificatechain.p7b 和 certificate.cer。我正在运行基本密钥工具命令来创建密钥库、创建 csr 并导入我尝试过的证书
- 下载 openssl,转换为两个 DER 证书,连接并导入
- 仅导入 p7b
- 仅导入 .cer
- 将 p7b 转换为 cer 并仅导入旧 p7b/新 cer
将 p7b 转换为 cer 并导入两者
“D:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win64_x64\sapjvm\bin\keytool”-genkey -alias *.server.com -keyalg RSA -keysize 2048 -keystore serverkeystore.jks -dname“CN=snoke,O=My company Inc.,L=Sometown,ST=Wisconsin,C=US”&&“D:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win64_x64\sapjvm\bin\keytool”-certreq -alias *.server.com -file serverkeystore.csr -keystore serverkeystore.jks
然后我意识到我对证书的理解不够深入,或者至少我现在没有以正确的方式思考它们,所以如果有人能告诉我他们过去见过的类似的东西,那可能会有所帮助。我认为我应该对这两个文件做些什么,而不仅仅是尝试导入它们。
我使用的是 Windows Server 2012。
答案1
java keytool 密钥库通常要求您导入证书颁发机构根证书,然后导入链/中间证书,然后导入 SSL 证书本身。
godaddy 关于更新 Tomcat 证书的说明中的“安装选项二:分别安装 SSL 证书和中级证书”部分似乎适用。 https://www.godaddy.com/help/ssl-certificate-renewal-tomcat-4x5x6x-5355
StackOverflow 上的答案对此进行了更详细的说明: https://stackoverflow.com/questions/24269293/how-to-import-godaddy-certificates-in-tomcat-given-gd-bundle-g2-g1-crt-gdig2-cr