SNI-Loch

SNI-Loch

Ich habe ein gültiges Zertifikat erworben:

Diese Site bestätigt es beispielsweise: https://sslanalyzer.comodoca.com/?url=www.example.com

Aber wenn ich es mit openSSL teste, sieht es so aus:

openssl s_client -showcerts -connect https://www.example.com:443

Ich bekomme

Überprüfen Sie den Rückgabecode: 18 (selbstsigniertes Zertifikat)

Antwort1

SNI-Loch

Du bist in eineSNI-Loch.

SNI istServernamenanzeige. Dadurch können Sie mehrere verschiedene Hostnamen auf derselben gemeinsam genutzten IP-Adresse haben. Und wenn Sie einem SNI-fähigen Server keinen Servernamen angeben, erhalten Sie das Standardzertifikat zurück. (Dies ist der „SNI-Loch“-Teil.)

Und OpenSSL wird dem TLS-Server keinen Servernamen übermitteln, es sei denn, Sie weisen ihn dazu an. Verwenden Sie -servernamedazu den Parameter.

$ echo '' | openssl s_client -showcerts -connect www.unival-logistics.com:443  -servername www.unival-logistics.com 2>/dev/null | grep -Ei 'subject|issuer|return'
subject=/C=US/OU=Domain Control Validated/CN=www.unival-logistics.com
issuer=/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2
    Verify return code: 20 (unable to get local issuer certificate)

Wenn Sie das weglassen, erhalten Sie das Standardzertifikat für diesen Host. Und hier ist das ein selbstsigniertes Zertifikat. (Und ich denke auch nicht, dass es dort sein sollte. Es macht keinen Sinn, ein selbstsigniertes Zertifikat bereitzustellen.)

 $ echo '' | openssl s_client -showcerts -connect www.unival-logistics.com:443  2>/dev/null | grep -Ei 'subject|issuer|return'
 subject=/O=americanfuturegate.com/CN=*.americanfuturegate.com/[email protected]
 issuer=/O=americanfuturegate.com/CN=*.americanfuturegate.com/[email protected]
     Verify return code: 18 (self signed certificate)

Überprüfen Sie die Installation

Randbemerkung: Ich fordere Sie dringend auf, SSL3 zu deaktivieren. (SSL Labs-BerichtHier.)

verwandte Informationen