1

OpenSSL でサーバー認証とクライアント認証の両方を使用しています。

SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, NULL);

しかし、クライアントは通常、有効なドメイン名を持っていないため、検証プロセスでドメイン名のチェックをスキップしたいと考えています。調整された検証コールバック関数で十分かもしれませんが、OpenSSL に関する私の知識が限られているため、助けを求めたいと思います。どうもありがとう。

4

1 に答える 1

1

OpenSSL でドメイン名の検証をスキップするには?

現在の OpenSSL 実装では実行されないため、スキップする必要はありません。現在の実装には、0.9.8、1.0.0、および 1.0.1 が含まれます。

ただし、OpenSSL Change Logによると、OpenSSL 1.0.2 および 1.1.0 にはホスト名の検証が含まれます。

*) ホスト名、電子メール アドレス、および IP アドレスのチェックを証明書の検証と統合します。opensl ユーティリティでのチェックをサポートする新しい検証オプション。【スティーブ・ヘンソン】

*) ホスト名と電子メール チェック機能に対する修正とワイルドカード マッチングのサポート。マニュアルページを追加。[Florian Weimer (Red Hat 製品セキュリティ チーム)]

*) ホスト名の電子メールまたは IP アドレスを証明書と照合する新しい機能。オプション x509 ユーティリティを追加して、証明書に対するチェックの結果を出力します。【スティーブ・ヘンソン】

変更ログによると、-verify_nameオプションがありますが、それがどこに組み込まれているかはわかりませんでした。スイッチapps.cに反応するようです。-verify_hostnameただしs_client、どちらのスイッチにも応答しないため、クライアントに対してホスト名チェックがどのように実装または呼び出されるかは不明です。

于 2013-12-02T04:50:37.180 に答える