Linux 명령 행을 통해 원격 SSL 인증서 저장 curl / wget

HTTPS 서버에서 제공 한 인증서를 저장하기위한 Linux 명령 행 방법을 생각할 수 있습니까? curl / wget / openssl이있는 줄에 따라 SSL 응답을 작성하고 HTTP 응답 컨텐츠가 아닌 인증서를 저장하십시오.

내가 찾고있는 것과 동일한 GUI는 HTTPS 사이트를 탐색하고 브라우저 “보안 사이트”아이콘을 두 번 클릭하고 인증서를 내보내는 것입니다. 여기서 목표는 비 대화식으로하는 것입니다.

고마워, 짐



답변

다음과 같은 것 :

openssl s_client -servername remote.server.net -connect remote.server.net:443 </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >/path/to/certificate.pem

이것이 fetchmail과 함께 SSL 가능 IMAP 또는 POP3 서버의 인증서를 검색하는 데 사용하는 것입니다 (명확하게 포트 443을 사용하지 않는 것 제외)

( SNI 지원을 요청 -servername하려면 “중복” 매개 변수가 필요합니다 openssl.)


답변

에서 http://www.madboa.com/geek/openssl/#cert-retrieve

#!/bin/sh
#
# usage: retrieve-cert.sh remote.host.name [port]
#
REMHOST=$1
REMPORT=${2:-443}

echo |\
openssl s_client -connect ${REMHOST}:${REMPORT} 2>&1 |\
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'


답변