Frage

Aus verschiedenen Gründen habe ich einen einfachen HTTP-Server erstellt und hinzugefügt SSL-Unterstützung über OpenSSL. Ich bin mit selbst signierten Zertifikaten. IE, Firefox und Chrome glücklich laden Inhalt solange ich die CA an die vertrauenswürdigen Stammzertifizierungsstellen hinzufügen.

Allerdings wget (auch bei Verwendung des --no-check-certificate Flag) berichtet:

OpenSSL: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

Wenn ich den OpenSSL-Client gegen meinen Server ausgeführt werden:

openssl s_client -connect dnvista:82 -debug

ich zurück: Fehler überprüfen: num = 19: selbst signiertes Zertifikat in Zertifikatskette überprüfen Rückkehr: 0 und dann

5852:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:.\ssl\s3_pkt.c:1060:SSL alert number 40
5852:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:.\ssl\s23_lib.c:188:

wget Sich und das OpenSSL-Client einfach nicht mit selbst signierten Zertifikaten arbeiten?

UPDATE:

Für alle, die sich entlang kommt später, das Hinzufügen dieser Code half mit dem OpenSSL-Client und Firefox:

EC_KEY *ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
SSL_CTX_set_tmp_ecdh(ctx, ecdh);
EC_KEY_free(ecdh);
War es hilfreich?

Lösung

überprüfte ich die Manpage von wget und --no-check-certificate scheint nur das Serverzertifikat beeinflussen . Sie müssen vor Ort, um sich selbst signiertes Zertifikat als ein gültiges CA-Zertifikat angeben.

Um dies zu tun, geben Sie das Zertifikat als --ca-certificate=... in wget und -CAfile im s_client Fall.

Andere Tipps

Sie können auch größte Root-CA-Zertifikate in OpenSSL in einem von einer Reihe von Möglichkeiten, installieren

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top