我将证书从钥匙串导出到PEM文件。我想通过编写shell脚本文件来循环处理每个证书的信息。
当我运行此命令来检查文件时:
openssl crl2pkcs7 -nocrl -certfile [file name here].pem | openssl pkcs7 -print_certs -text | grep -E '(Subject:|Not After)'
将打印所有证书的信息。但是当我运行以下命令时:
openssl x509 -in certs.pem -text
它仅显示文件中第一个证书的信息。我尝试使用外壳程序获取PEM文件中的证书计数,它返回1。
#! /bin/bash
i=0;
for cert in [PEM file path]; do
let "t=$i + 1";
echo $t;
done
有人可以帮助我处理PEM文件中的证书吗?非常感谢。
答案 0 :(得分:0)
通常,证书由BEGIN / END注释分隔。您可以像这样分割PEM字符串:
IN="-----BEGIN CERTIFICATE-----..."
CERTS=( $(IFS="-----BEGIN CERTIFICATE-----" echo "$IN") )
echo ${CERTS[0]}
echo ${CERTS[1]}
...