Как обрабатывать информацию сертификата в файле PEM - PullRequest
0 голосов
/ 25 июня 2019

Я экспортировал сертификаты из цепочки для ключей в файл PEM. Я хочу обработать информацию о каждом сертификате в цикле, написав файл сценария оболочки.

Когда я запускаю эту команду для проверки файла:

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 голосов
/ 13 июля 2019

Обычно сертификаты разделяются комментариями BEGIN / END. Вы можете разделить PEM-строку следующим образом:

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