Aus verschiedenen Gründen habe ich einen einfachen HTTP-Server erstellt und SSL-Unterstützung über OpenSSL hinzugefügt. Ich verwende selbstsignierte Zertifikate. IE, Firefox und Chrome laden gerne Inhalte, solange ich die CA den vertrauenswürdigen Stammzertifizierungsstellen hinzufüge.wget, selbstsignierte Zertifikate und ein benutzerdefinierter HTTPS-Server
jedoch wget (auch wenn die --no-check-certificate
Flag verwendet) berichtet:
OpenSSL: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Wenn ich den OpenSSL-Client gegen meinen Server mit ausführen:
openssl s_client -connect dnvista:82 -debug
ich zurück: Fehler überprüfen: num = 19: selbstsigniertes Zertifikat in der Zertifikatskette überprüfen zurück: 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:
Funktionieren wget und der OpenSSL-Client nicht mit selbstsignierten Zertifikaten?
UPDATE:
Für alle, die sich entlang kommt später, das Hinzufügen dieser Code mit dem OpenSSL-Client und Firefox geholfen:
EC_KEY *ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
SSL_CTX_set_tmp_ecdh(ctx, ecdh);
EC_KEY_free(ecdh);
Hallo. Ich habe viele Kommentare wie diese, "Turn the check-off" in so vielen Wörtern gesehen. Es ist eine ** wirklich _BAD_ Idee **. Ein bisschen wie Straßenrennen mit kahlen Reifen auf nassen Straßen. Ich bin enttäuscht, dass diese Antwort ein "Häkchen" erhielt. – will
wird: Ich stimme zu, eine Überprüfung ist in der Regel eine schlechte Idee. Meine Antwort schlägt eine Möglichkeit vor, das CA-Zertifikat dem Client bekannt zu machen, damit die Überprüfung korrekt durchgeführt werden kann. –