Как экспортировать все сертификаты в цепочке сертификатов в отдельные файлы .crt с помощью одной команды

Вы можете указать sudo, что хотите запускать команды как www-dataвместоroot:

sudo -u www-data...

Таким образом, право собственности на ваш репозиторий не изменится.

2
18.11.2019, 19:10
2 ответа

Оказывается awkможно использовать для решения задачи:

(openssl s_client -showcerts -connect <host>:<port> & sleep 4) | awk '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/{if(/-----BEGIN CERTIFICATE-----/){a++}; out="/tmp/<host>"a".crt"; print > out}'

Замените <host>и <port>фактическими значениями. Команда sleepпредназначена для ограничения времени ожидания команды openssl.

0
27.01.2020, 22:16

Трубка вawk '/BEGIN/ { i++; } /BEGIN/, /END/ { print > "cert-" i ".crt" }'

Например:

echo "" | 
    openssl s_client -showcerts -connect www.example.com:443 |
    awk '/BEGIN/ { i++; } /BEGIN/, /END/ { print > "cert-" i ".crt"  }'
3
27.01.2020, 22:16

Теги

Похожие вопросы