Openssl s_client: извлечь последний сертификат

Я могу вывести всю цепочку сертификации с удаленного веб-сайта с помощью следующей команды:

openssl s_client -connect www.google.fr:443 -servername www.google.fr -showcerts 2>/dev/null | sed --quiet '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'

Но теперь я хотел бы иметь возможность извлекать только последний сертификат в цепочке, есть ли простой способ сделать это?

1
задан 15 November 2017 в 15:57
1 ответ

Вот простой одиночный вкладыш:

openssl s_client -connect www.google.fr:443 -servername www.google.fr -showcerts 2>/dev/null | sed --quiet '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | csplit --prefix=outfile - "/-----END CERTIFICATE-----/+1" "{*}" --elide-empty-files --quiet

Он работает на моей CentOS, он создает три файла outfile00 , outfile01 и Outfile02 . Так что вы можете взять сертификат из файла.

1
ответ дан 3 December 2019 в 23:23

Теги

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