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 -servername
dazu 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.)