it-swarm.com.de

SSL-Fehler: Das Zertifikat des lokalen Ausstellers konnte nicht abgerufen werden

Ich habe Probleme beim Konfigurieren von SSL auf einem Debian 6.0 32-Bit-Server. Ich bin relativ neu mit SSL, also bitte trage mich. Ich füge so viele Informationen wie möglich hinzu.
Hinweis: Der wahre Domainname wurde geändert, um die Identität und Integrität des Servers zu schützen.

Aufbau

Der Server läuft mit Nginx. Es ist wie folgt konfiguriert:

ssl_certificate           /usr/local/nginx/priv/mysite.ca.chained.crt;
ssl_certificate_key       /usr/local/nginx/priv/mysite.ca.key;
ssl_protocols             SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers               HIGH:!aNULL:!MD5;
ssl_verify_depth          2;

Ich habe mein Zertifikat mit der beschriebenen Methode verkettet hier

cat mysite.ca.crt bundle.crt > mysite.ca.chained.crt

dabei ist mysite.ca.crt das Zertifikat, das mir von der Signaturstelle erteilt wurde, und bundle.crt das CA-Zertifikat, das mir auch von meiner Signaturstelle zugesandt wurde. Das Problem ist, dass ich das SSL-Zertifikat nicht direkt von GlobalSign gekauft habe, sondern über meinen Hosting-Anbieter Singlehop.

Testen

Das Zertifikat wird in Safari und Chrome ordnungsgemäß überprüft, in Firefox jedoch nicht. Die erste Suche ergab, dass möglicherweise ein Problem mit der Zertifizierungsstelle vorliegt.

Ich habe die Antwort auf eine ähnliche Frage untersucht, konnte jedoch keine Lösung finden, da ich nicht wirklich verstehe, welchem ​​Zweck jedes Zertifikat dient.

Ich habe den s_client von openssl zum Testen der Verbindung verwendet und eine Ausgabe erhalten, die auf dasselbe Problem wie die ähnliche Frage hinweist. Der Fehler ist wie folgt:

depth=0 /OU=Domain Control Validated/CN=*.mysite.ca
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 /OU=Domain Control Validated/CN=*.mysite.ca
verify error:num=27:certificate not trusted
verify return:1

Ein vollständiges Detail der Antwort von openssl (mit abgeschnittenen Zertifikaten und unnötigen Informationen) finden Sie hier .

Ich sehe auch die Warnung:

No client certificate CA names sent

Ist es möglich, dass dies das Problem ist? Wie kann ich sicherstellen, dass nginx diese CA-Namen sendet?

Versuche, das Problem zu lösen

Ich habe versucht, das Problem zu lösen, indem ich die Stammzertifizierungsstelle direkt von GlobalSign heruntergeladen habe, habe jedoch den gleichen Fehler erhalten. Ich habe die Stammzertifizierungsstellen auf meinem Debian-Server mit dem Befehl update-ca-certificates Aktualisiert, aber nichts hat sich geändert. Dies ist wahrscheinlich darauf zurückzuführen, dass die von meinem Provider gesendete Zertifizierungsstelle korrekt war und das Zertifikat zweimal verkettet wurde, was nicht hilft.

0 s:/OU=Domain Control Validated/CN=*.mysite.ca
   i:/C=BE/O=GlobalSign nv-sa/CN=AlphaSSL CA - SHA256 - G2
1 s:/O=AlphaSSL/CN=AlphaSSL CA - G2
   i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
2 s:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
   i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA

Nächste Schritte

Bitte lassen Sie mich wissen, ob ich etwas ausprobieren kann oder ob ich nur das Ganze falsch konfiguriert habe.

72
Jamie Counsell

jWW ist richtig - Sie verweisen auf das falsche Zwischenzertifikat.

Da Ihnen ein SHA256-Zertifikat ausgestellt wurde, benötigen Sie das SHA256-Zwischenprodukt. Sie können es hier herunterladen: http://secure2.alphassl.com/cacert/gsalphasha2g2r1.crt

44
RickK