wget, certs auto-signés et un serveur HTTPS personnalisé
Pour diverses raisons, j'ai créé un simple serveur HTTP, et ajouté le support de SSL via OpenSSL. Je suis à l'aide de certificats auto-signés. IE, Firefox et Chrome heureux de charger le contenu, tant que j'ai ajouter de l'autorité de certification pour les autorités de certification racine.
Cependant, wget (même lors de l'utilisation de la --no-check-certificate
drapeau) des rapports:
OpenSSL: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Si je lance le OpenSSL client à l'encontre de mon serveur à l'aide de:
openssl s_client -connect dnvista:82 -debug
Je serai de retour:
vérifier erreur:num=19:certificat auto-signé dans la chaîne de certificats
vérifiez de retour:0
et puis
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:
Ne wget et OpenSSL client tout simplement pas travailler avec des certificats auto-signés?
Mise à JOUR:
Pour quelqu'un qui vient plus tard, l'ajout de ce code a aidé avec OpenSSL client et 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);
source d'informationauteur DougN
Vous devez vous connecter pour publier un commentaire.
J'ai vérifié la page de man de
wget
et--no-check-certificate
ne semble affecter la certificat de serveur. Vous devez spécifier votre certificat auto-signé de validité du certificat d'autorité de certification à l'échelle locale.Pour ce faire, spécifiez le certificat de
--ca-certificate=...
danswget
et-CAfile
dans les_client
cas.Vous pouvez également installer des certificats d'autorité de certification racine de confiance dans OpenSSL dans l'un des un certain nombre de façons: