Extraer certificado intermedio de la salida de openssl s_client

4

Estoy buscando una manera fácil de obtener detalles de certificados intermedios de openssl s_client. Solo puedo canalizar la salida a openssl x509 pero primero se necesita un certificado de hoja. Se me ocurrió este script, funciona pero es curioso si hay un comando más simple para lograr lo mismo.

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 
Andrii
fuente

Respuestas:

1

Puede intentar algo como esto:

$ 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
Castaglia
fuente