在 Ubuntu 上,我无法成功使用 openssl 转换证书。
vagrant@dev:/vagrant/keys$ openssl pkcs7 -print_certs -in a.p7b -out a.cer
unable to load PKCS7 object <blah blah>:PEM
routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: PKCS7
您之前见过这个错误吗?
答案1
答案2
因此,结合以上答案,命令是:
openssl pkcs7 -in cert.p7b -inform DER -print_certs -out cert.pem
已验证可在 Windows 上使用,使用 OpenSSL-Win64
/感谢 Bogdan 发现错误
答案3
我跟着本指南指示您更改页眉/页脚行
-----BEGIN PKCS #7 SIGNED DATA-----
[data]
-----END PKCS #7 SIGNED DATA-----
到
-----BEGIN CERTIFICATE-----
[data]
-----END CERTIFICATE-----
然后运行命令openssl pkcs7 -in foo.modified.crt -print_certs -out foo.certs
(foo.modified.crt
将修改后的版本保存到的文件在哪里)。这给了我与其他答案中建议的通过 Windows 证书导出运行相同的结果。
答案4
就我的情况而言,快速解决方案(很多文件缺少页眉/页脚):
base64 -d $FILE | openssl pkcs7 -inform DER -print_certs