Extrai o certificado intermediário da saída openssl s_client

1

Estou procurando uma maneira fácil de obter detalhes de certificados intermediários do openssl s_client. Eu posso canalizar a saída para o openssl x509, mas é preciso primeiro o certificado de folha. Eu criei este script, ele funciona, mas curiosidades se houver um comando mais simples para alcançar o mesmo.

echo 1 | openssl s_client -connect unix.stackexchange.com:443 -showcerts 2>/dev/null | sed -n '/BEGIN\ CERTIFICATE/,/END\ CERTIFICATE/ p' | sed -n '/END CERTIFICATE/,$ p' | tail -n +2 | openssl x509 -noout -text 
    
por Andrii 19.12.2017 / 22:25

1 resposta

0

Você pode tentar algo assim:

$ echo 1 | \
  openssl s_client -connect unix.stackexchange.com:443 \
    -showcerts 2>/dev/null > /tmp/chained.pem && \
  openssl crl2pkcs7 -nocrl -certfile /tmp/chained.pem | \
  openssl pkcs7 -print_certs -text -noout
    
por 23.12.2017 / 20:37

Tags