OpenSSL에서 얻은 SSL 인증서는 브라우저를 통해 얻은 인증서와 다릅니다.

OpenSSL에서 얻은 SSL 인증서는 브라우저를 통해 얻은 인증서와 다릅니다.

HTTPS 웹사이트에서 PEM 형식의 SSL 인증서를 다운로드해야 합니다.https://api.paczkomaty.pl. 그래서 저는 OpenSSL을 사용하여 이 작업을 수행합니다.

openssl s_client -connect api.paczkomaty.pl:443 > myfile
openssl x509 -in myfile -text 

결과는 다음과 같습니다.

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            0d:5a:87:30:7e:43:96:05:5e:20:f3:2f:14:a4:d9:47
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = US, O = GeoTrust Inc., CN = RapidSSL SHA256 CA
        Validity
            Not Before: Mar 11 00:00:00 2017 GMT
            Not After : Apr 10 23:59:59 2018 GMT
        Subject: CN = *.grupainteger.pl
(...)

하지만 브라우저(Chrome 또는 Firefox)를 통해 웹사이트에 접속하여 인증서를 확인하면 다른 인증서가 표시되고 일련번호가 다르며 유효기간은 2018년 15월 1일부터 2018년 1월 9일까지입니다.

OpenSSL이 다른 인증서를 받는 이유는 무엇입니까?

답변1

OpenSSL이 다른 인증서를 받는 이유는 무엇입니까?

s_clientSNI(서버 이름 표시) 데이터는 기본적으로 전송되지 않지만 브라우저에서는 전송됩니다. 서버는 이 SNI의 내용을 기반으로 다른 인증서로 응답하도록 선택할 수 있으며, SNI가 없는 경우 기본 인증서를 제공합니다. 명령줄 -servername api.paczkomaty.pl에 추가해 보세요s_client

답변2

TLS SNI(서버 이름 표시)를 사용하여 동일한 물리적 서버에 있는 여러 SSL/TLS 사이트. 클라이언트가 SNI 정보( s_client제공하지 않는 한 OpenSSL은 제공하지 않음)를 제공하지 않는 경우 일부 대체 기본 사이트 인증서가 사용됩니다.

-servername다음과 같이 명령 에 옵션을 추가합니다 openssl s_client.

openssl s_client -servername api.paczkomaty.pl -connect api.paczkomaty.pl:443 > myfile

관련 정보