我有一个文件,其中包含:
-----BEGIN CERTIFICATE-----
(many lines of 64 bytes)
-----END CERTIFICATE-----
我使用keytool.exe -printcert -file (myfile)
它的输出如下
Certificate[1]:
Owner: CN=www.mydomain.xxxxxx
(bah bah bah............)
(bah bah bah............)
Certificate[2]:
Owner: CN=Thawte SSL CA, O="Thawte, Inc.", C=US
(bah bah bah............)
(bah bah bah............)
Certificate[3]:
Owner: CN=thawte Primary Root CA, OU="(c) 2006 thawte, Inc. - For authorized use only", OU=Certification Services Division, O="thawte, Inc.", C=US
(bah bah bah............)
(bah bah bah............)
它包含 3 个证书是正常的吗?
它被称为证书链吗?
如果我想将此文件导入,我该怎么办keystore
?
我一次又一次地尝试使用
keytool.exe -import -alias (myalias) -trustcacerts -file (thisfile) -keystore (mykeystore)`
但它一直告诉我
java.lang.Exception: Input not an X.509 certificate
答案1
需要keytool
提供证书链PKCS#7格式(通常是.p7b
文件扩展名),但你把它作为一个质子交换膜文件(更确切地说是由软件使用,如阿帕奇,nginxETC。)。
来自keytool
手动的(-importcert
选项):
-importcert:
读取证书或证书链(后者以 PKCS#7 格式的回复形式提供)...
要转换文件,您可以使用该openssl
实用程序(如果您手头有):
openssl crl2pkcs7 -certfile cert.pem -out cert.p7b -nocrl
cert.pem
您当前的证书文件在哪里以及cert.p7b
用于导入的证书文件在哪里。