如何通过OpenSSL命令行将CRT证书包转换为含全部证书的PEM文件?
如何将CRT证书包转换为包含所有证书的PEM文件?
如果你的.crt文件是包含多个证书的包,之前用openssl x509命令只能提取第一个证书是因为该工具默认仅处理单个证书条目。要提取所有证书并输出到单个PEM文件,分两种情况处理:
情况1:CRT文件本身是PEM格式
如果你的.crt文件开头有-----BEGIN CERTIFICATE-----标识,说明它已经是PEM格式的多证书包,直接使用即可。若需要复制为新文件,执行:
cat input.crt > output.pem
情况2:CRT是DER或PKCS#7格式的证书包
如果文件是二进制格式(无明文证书头),或者是PKCS#7标准的证书集合,使用openssl pkcs7工具提取所有证书:
openssl pkcs7 -in input.crt -print_certs -out output.pem
-print_certs参数会遍历证书包中的所有条目,将每个证书以PEM格式输出到目标文件。
验证结果
执行以下命令查看输出文件,确认包含多个证书块:
cat output.pem
你应该能看到多组-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----,每组对应一个证书。
内容的提问来源于stack exchange,提问作者gat
相关产品推荐
相关产品推荐

