Openssl 将P7b文件和所有证书链导出到CER文件中
我有Thwate提供的p7b文件。当我试图使用下面的命令导出cer文件中的证书时,证书链不包括在内Openssl 将P7b文件和所有证书链导出到CER文件中,openssl,certificate,x509certificate,Openssl,Certificate,X509certificate,我有Thwate提供的p7b文件。当我试图使用下面的命令导出cer文件中的证书时,证书链不包括在内 请建议如何做同样的事情。导入weblogic密钥存储时需要此CER openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer 如果将-chain添加到命令行,它将导出任何链接证书 唯一的问题是,结果文件中的任何其他证书都不会被识别,因为工具不希望每个PEM/DER编码文件有多个证书。 甚至openssl本身。 试一试
请建议如何做同样的事情。导入weblogic密钥存储时需要此CER
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
如果将-chain添加到命令行,它将导出任何链接证书
唯一的问题是,结果文件中的任何其他证书都不会被识别,因为工具不希望每个PEM/DER编码文件有多个证书。 甚至openssl本身。 试一试
请自行查看。-打印证书是您要用于列出p7b文件中所有证书的选项,您可能需要指定正在读取的p7b文件的格式 然后可以将输出重定向到新文件,以构建连接的证书列表 在文本编辑器中打开该文件,您将看到Base64(PEM)或二进制数据(DER)
我在从文件中提取证书时遇到了类似的问题。这可能不是最好的方法,但对我来说很有效
openssl pkcs7 -inform DER -print_certs -in <path of the file> | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
openssl pkcs7-通知DER-print_certs-in|awk'split_after==1{n++;split_after=0}/----结束证书------/{split_after=1}{print>“cert”n.pem}
所选答案对我不起作用,但很接近。我找到了一本对我有用的教程和我从StartCom获得的证书
-----BEGIN PKCS7-----
[... certificate content here ...]
-----END PKCS7-----
-----BEGIN CERTIFICATE-----
最后是:
-----END CERTIFICATE-----
参考:问题是询问PKCS7文件,而不是PKCS12文件。中间证书的串联列表对于使用SSLCACertificateFile配置参数执行X.509客户端身份验证的Apache httpd Web服务器非常有用。从apache httpd-ssl.conf文件:设置CA证书验证路径,在其中查找用于客户端身份验证的CA证书,或者一个包含所有CA证书的大型文件(文件必须是PEM编码的)必须这样做才能使
keytool
识别证书。非常感谢你!为了说明如何确定p7b文件的格式,当您在文本编辑器中打开该文件时,如果您看到乱码中嵌入了“----开始证书------”和“----结束证书------”字符串,则可能是Base64(PEM)格式。否则,如果它是100%胡言乱语,它很可能是二进制(DER)格式。我从这个链接得到了这个信息:我必须使用openssl pkcs7-outform PEM-in user.anaplanfrsysdev.p7b-print_certs从.p7b文件中提取2个证书。openssl pkcs7-inform DER-outform PEM-in certificate.p7b-print_certs-out certificate_bundle.cer也可以工作。它使用openssl本身的选项。
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
openssl pkcs7 -print_certs –in pkcs7.p7b -out pem.cer