14

さまざまな理由で、単純なHTTPサーバーを作成し、OpenSSLを介してSSLサポートを追加しました。自己署名証明書を使用しています。IE、Firefox、Chromeは、信頼できるルートCAにCAを追加する限り、コンテンツを問題なくロードします。

ただし、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:証明書チェーンの自己署名証明書はreturn:0を検証してから

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クライアントは単に自己署名証明書では機能しませんか?

アップデート:

後でやってくる人のために、このコードを追加すると、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);
4

2 に答える 2

16

のマニュアルページを確認しましたが、サーバー証明書wget--no-check-certificateのみ影響するようです。自己署名証明書を有効なCA証明書としてローカルで指定する必要があります。

これを行うには、ケース--ca-certificate=...wgetおよびケース内のように証明書を指定します。-CAfiles_client

于 2009-10-29T16:09:49.767 に答える
6

次のいずれかの方法で、信頼されたルートCA証明書をOpenSSLにインストールすることもできます。

  • CA証明書を/etc/ pki / tls / certsまたは同等のディレクトリに配置し、証明書ハッシュに基づいてリンクを作成します。詳細については、http: //gagravarr.org/writing/openssl-certs/others.shtml#ca-opensslを参照してください。
  • CA証明書を/etc/pki/tls/certs/ca-bundle.crt、/etc/pki/tls/cert.pem、または同等のCAバンドルに追加します。
于 2010-01-22T05:10:17.527 に答える