2016-05-06 8 views
1

Wenn ich auf eine meiner Subdomains zugreife: sagen https://foo.example.com in einem Browser und überprüfen Sie die Zertifikate, das Zertifikat sieht gut aus. Wenn ich openssl von einem Remote-Computer verwende, wird ein abgelaufenes Zertifikat angezeigt. Wie kann das sein?Browser, s_client ohne SNI und abgelaufenes Zertifikat

Ich habe versucht zu reproduzieren, was in diesem question gefunden wurde, aber mein Szenario ist anders. Als ich

echo | openssl s_client -showcerts -connect foo.example.com:443 2>&1 | grep Verify 

laufen sehe ich:

Verify return code: 10 (certificate has expired) 

Wenn ich laufen:

echo | openssl s_client -showcerts -connect foo.example.com:443 2>&1 | openssl x509 -noout -dates 

ich:

notBefore=Sep 27 15:10:20 2014 GMT 
notAfter=Sep 27 15:10:20 2015 GMT 

Es abgelaufen aussieht, aber der Browser nicht zeige es als abgelaufen an. Hier ist es im Browser:

enter image description here

+0

Versuchen Sie, '-tls1 -servername foo.example.com' hinzuzufügen. Ich nehme an, Sie haben einen Front-End-Server, der eine Standarddomäne für Anforderungen ohne SNI bereitstellt, und die Standarddomäne wird an einen internen Server mit dem alten Zertifikat weitergeleitet. Wenn die Browser eine Verbindung herstellen, verwenden sie SNI und rufen den Server ab, für den Sie das Zertifikat aktualisiert haben. Oder es könnte ein Intermediate mit einem abgelaufenen Zertifikat in der Kette sein, die bedient wird. Wenn Sie echte Informationen zur Verfügung stellen, ist es einfacher für uns, Ihnen bei solchen Problemen zu helfen. – jww

+0

Stack Overflow ist eine Website für Programmier- und Entwicklungsfragen. Diese Frage scheint off-topic zu sein, weil es nicht um Programmierung oder Entwicklung geht. Siehe [Welche Themen kann ich hier fragen?] (Http://stackoverflow.com/help/on-topic) in der Hilfe. Vielleicht [Super User] (http://superuser.com/) oder [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) wäre ein besserer Ort, um zu fragen. Siehe auch [Wo veröffentliche ich Fragen zu Dev Ops?] (Http://meta.stackexchange.com/q/134306). – jww

+0

@jww Sie hatten Recht. Als ich die Tls1-Info wie Sie vorgeschlagen hatte, zeigte sie die passenden Daten an. Danke für Ihre Hilfe. Obwohl ich denke, dass Sie Recht haben, dass Super User angemessener sein könnte, ist SO mit OpenSSL-Fragen übersät und ich habe dieses Problem in direktem Zusammenhang mit der Bereitstellung meiner Software festgestellt. Entwicklungswerkzeuge und Software sind sicherlich relevante Fragen für diese Seite. – ajon

Antwort

1

Siehe ersten Kommentar von @jww. Er wies darauf hin, dass ich zu meinem openssl-Befehl -tls1 -servername foo.example.com hinzufügen musste. Sein Kommentar:

Versuchen Sie hinzufügen -tls1-Servername foo.example.com. Ich nehme an, Sie haben einen Front-End-Server, der eine Standarddomäne für Anforderungen ohne SNI bereitstellt, und die Standarddomäne wird an einen internen Server mit dem alten Zertifikat weitergeleitet. Wenn die Browser eine Verbindung herstellen, verwenden sie SNI und rufen den Server ab, für den Sie das Zertifikat aktualisiert haben. Oder es könnte ein Intermediate mit einem abgelaufenen Zertifikat in der Kette sein, die bedient wird. Wenn Sie echte Informationen zur Verfügung stellen, ist es einfacher für uns, Ihnen bei solchen Problemen zu helfen.