如何从PFX以PEM格式导出CA证书链而没有包属性
我有一个包含完整证书链和私钥的PKCS12文件。我需要将其分解为3个文件用于一个应用程序。我需要的3个文件如下(PEM格式): 未加密的密钥文件 客户端证书文件 CA证书文件(根目录和所有中间文件) 这是我必须执行的常见任务,因此我正在寻找一种无需手动编辑输出即可执行此操作的方法。 我尝试了以下方法: openssl pkcs12 -in <filename.pfx> -nocerts -nodes -out <clientcert.key> openssl pkcs12 -in <filename.pfx> -clcerts -nokeys -out <clientcert.cer> openssl pkcs12 -in <filename.pfx> -cacerts -nokeys -chain -out <cacerts.cer> 这很好用,但是输出包含bag属性,应用程序不知道该属性。 经过一番搜索,我找到了一种建议的解决方案,将结果通过x509传递以剥离bag属性。 openssl x509 -in <clientcert.cer> -out <clientcert.cer> 这可行,但是我在cacert文件上遇到了问题。输出文件仅包含链中3个证书之一。 有没有办法避免在pkcs12命令的输出中包含bag属性,还是有办法使x509命令的输出包含所有证书?另外,如果通过x509运行它是最简单的解决方案,是否有办法将pkcs12的输出通过管道传递到x509,而不是两次写入文件?