さまざまな理由から、私は簡単なHTTPサーバーを作成し、OpenSSL経由でSSLサポートを追加しました。自己署名証明書を使用しています。 IE、Firefox、Chromeは、信頼できるルートCAにCAを追加する限り、コンテンツをうまく読み込みます。しかしwget、自己署名証明書とカスタムHTTPSサーバー
、wgetの(--no-check-certificate
フラグを使用していても)報告:
OpenSSL: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
私が使用して自分のサーバーに対してのOpenSSLクライアントを実行する場合:
openssl s_client -connect dnvista:82 -debug
私が取り戻す: がエラーを確認します。 num = 19:証明書チェーン内の自己署名証明書 検証結果: 、次に
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を実行しても、OpenSSLクライアントは自己署名証明書を使用できません。
UPDATE:に沿って、後に来る人のため
、このコードを追加するには、OpenSSLクライアントと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);
こんにちは。私はこれらのようなコメントをたくさん見てきました。それは**本当に_BAD_アイデアです**。濡れた路面で大げさなタイヤを使った路上競技のようなもの。私はこの答えに「目盛り」がついていることに失望しています。 – will
意志:私は同意し、チェックを回すことは一般に悪い考えです。私の答えは、CA証明書をクライアントに知らせる方法の1つで、チェックを正しく実行できることを示唆しています。 –