通过使用以下命令,我可以从远程网站输出所有authentication链:
openssl s_client -connect www.google.fr:443 -servername www.google.fr -showcerts 2>/dev/null | sed --quiet '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
但是现在我想能够提取链中最后一个证书,是否有一个简单的方法来做到这一点?
这里是简单的oneliner:
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上运行,它创build了三个文件outfile00
, outfile01
和outfile02
。 所以你可以从文件中获取你想要的证书。