openssl s_client 출력에서 ​​중간 인증서 추출

openssl s_client 출력에서 ​​중간 인증서 추출

openssl s_client에서 중간 인증서 세부 정보를 얻는 쉬운 방법을 찾고 있습니다. 출력을 openssl x509로 파이프할 수 있지만 먼저 리프 인증서가 필요합니다. 나는 이 스크립트를 생각해냈고 작동하지만 동일한 목적을 달성하기 위한 더 간단한 명령이 있는지 궁금했습니다.

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 

답변1

다음과 같이 시도해 볼 수도 있습니다.

$ 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

관련 정보