Wie beheben Sie eine unvollständige SSL-Kette

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

Https://www.ssllabs.com/ssltest/analyze.html sagt, dass die Kette unvollständig ist, und ich habe auf stack overflow gelesen, dass eine SSL-Kette in der falschen Reihenfolge auf Android fehlschlägt.

Aber wie ordne ich es an? Auf meinem Server? SSL-Zertifikat selbst muss erneut überprüft werden? Dinge auf FTP verschieben?

Author: Community, 2013-09-12

3 answers

Im Anschluss an Zakjans Antwort hatte ich ein Problem, als ich versuchte, jquery zu verwenden, um eine AJAX-Anfrage auf meinem neu sicheren 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 Unterschrift eingefügt .crt-Datei, die ich von Comodo (PositiveSSL) zurückbekommen habe, und es gab mir eine Verkettung von allem, was ich brauchte. Ich habe es als meine Domain + "Kette gespeichert.crt" (siehe unten)

Dann, in meinem apache configs, ich habe 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 zum POSTEN auf meinem Server zu verwenden. Ich habe es auf 2 realen Geräten versucht, einem mit 2.3.4, einem mit 4.etwas. Und auf dem Emulator läuft 2.3. Alle arbeiteten.

Ich hoffe, das hilft.

 20
Author: Richard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-06-12 21:56:24

Die Kette war in der CRT-Datei, dass das ursprüngliche SSL funktionierte.

Für GoDaddy gibt es ein zweites Zertifikat - gd_bundle.crt -

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

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

Ich habe immer noch einen Anker in Kettenproblemen auf ssllabs.com aber das ist kein Problem, nur eine Option zum Ein-oder Aussteigen-nach - https://security.stackexchange.com/questions/24561/ssltest-chain-issues-contains-anchor/24566#24566

 10
Author: Jon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-17 10:46:10

Sie können das Problem unvollständige Zertifikatskette manuell lösen, indem Sie alle Zertifikate aus dem Zertifikat mit dem vertrauenswürdigen Stammzertifikat (exklusiv in dieser Reihenfolge) verketten, 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 sie selbst zu verketten. Übrigens habe ich ein Skript geschrieben, um automatisieren Sie die Prozedur, es braucht ein Zertifikat, um die Ausgabe korrekt verketteter Zertifikate zu erzeugen. https://github.com/zakjan/cert-chain-resolver

 8
Author: zakjan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-01-19 05:34:11