如何处理PEM文件中的证书信息

时间:2019-06-25 06:35:39

标签: shell certificate pem

我将证书从钥匙串导出到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文件中的证书吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

通常,证书由BEGIN / END注释分隔。您可以像这样分割PEM字符串:

IN="-----BEGIN CERTIFICATE-----..."
CERTS=( $(IFS="-----BEGIN CERTIFICATE-----" echo "$IN") )
echo ${CERTS[0]}
echo ${CERTS[1]}
...