it-swarm.com.de

Wie kann eine unvollständige SSL-Kette repariert werden?

Ich habe ein Go Daddy SSL-Zertifikat installiert und es funktioniert überall außer auf Android.

https://www.ssllabs.com/ssltest/analyze.html sagt, die Kette sei unvollständig, und ich lese weiter Stapelüberlauf , dass eine SSL-Kette in der falschen Reihenfolge unter Android fehlschlägt.

Aber wie bringe ich es in Ordnung? Auf meinem Server? SSL-Zertifikat selbst muss neu verschlüsselt werden? Dinge auf FTP verschieben?

28
Jon

Die Kette war in der CRT-Datei, die das ursprüngliche SSL abarbeitete.

Für GoDaddy gibt es ein 2. Zertifikat - Gd_bundle.crt

Kopieren Sie diese Informationen und fügen Sie sie dem auf dem Server installierten crt hinzu.

Das ursprüngliche crt auf dem Server hatte also 1 Zertifikat und danach 3 in derselben Datei. Das ist die Kette.

Ich habe immer noch Anker in Kettenproblemen auf ssllabs.com, aber dies ist kein Problem, nur eine Option zum Ein- oder Auslassen - gemäß - https://security.stackexchange.com/ fragen/24561/ssltest-kettenprobleme-enthält-anker/24566 # 24566

9
Jon

Nach der Antwort von zakjan hatte ich ein Problem, als ich versuchte, mit jquery eine AJAX -Anforderung auf meinem neu gesicherten Server in einer Android-Webansicht auszuführen. Es funktionierte im Browser, aber nicht in meiner App.

Ich habe diese Seite benutzt: https://certificatechain.io/

Ich habe den Text meiner signierten .crt-Datei eingefügt, die ich von Comodo erhalten habe (positiveSSL), und es gab mir eine Zusammenfassung von allem, was ich brauchte. Ich habe es als meine Domain + "chain.crt" gespeichert (siehe unten)

Dann habe ich in meinen Apache-Konfigurationen so etwas für diesen bestimmten virtuellen Host eingegeben:

SSLEngine On
SSLCertificateFile /etc/ssl/localcerts/example_com.crt
SSLCertificateKeyFile /etc/ssl/localcerts/example.com.key
SSLCACertificateFile /etc/ssl/localcerts/example.com.chain.crt

Danach hatte die Webansicht meiner Android-App kein Problem damit, Ajax für POST auf meinem Server zu verwenden. Ich habe es auf 2 realen Geräten ausprobiert, von denen eines 2.3.4 und eines 4.something ausführt. Und auf dem Emulator läuft 2.3. Alles hat funktioniert.

Ich hoffe das hilft.

16
Richard

Sie können das Problem mit der unvollständigen Zertifikatkette manuell lösen, indem Sie alle Zertifikate vom Zertifikat zum vertrauenswürdigen Stammzertifikat verketten (in dieser Reihenfolge exklusiv), um solche Probleme zu vermeiden. Beachten Sie, dass das vertrauenswürdige Stammzertifikat nicht vorhanden sein sollte, da es bereits im Stammzertifikatspeicher des Systems enthalten ist.

Sie sollten in der Lage sein, Zwischenzertifikate vom Aussteller abzurufen und selbst zusammenzufassen. Übrigens, ich habe ein Skript geschrieben, um das Verfahren zu automatisieren. Es benötigt ein Zertifikat, um die Ausgabe korrekt verketteter Zertifikate zu erstellen. https://github.com/zakjan/cert-chain-resolver

7
zakjan