openSSL: 受け入れる署名ハッシュ アルゴリズムを指定するにはどうすればいいですか?

openSSL: 受け入れる署名ハッシュ アルゴリズムを指定するにはどうすればいいですか?

TLS クライアントで openSSL を使用して、SSL_CTX_set_cipher_list() で一意の暗号スイートを指定しました。

Wireshark を使用してメッセージを確認すると、Client Hello メッセージで許可されている暗号スイートは指定したものであることがわかります。

しかし、拡張機能: 署名アルゴリズムを見ると、クライアントは、MD5 のようにあまり安全ではないと思われるアルゴリズムも含め、多数のアルゴリズムを受け入れているようです。

この動作を変更するにはどうすればいいでしょうか?

答え1

(他のものを調べているときに見つけました。セキュリティ、または SO の方が良いかどうかはわかりません。)

リリース 1.0.2 (のみ) にこれに関する新しい機能がありますSSL_[CTX_]set1[_client]_sigalgs[_list]。まだどのリリースにもドキュメントは見当たりませんが、次の Web サイトの「マスター」(つまり開発「トランク」) にはあるようです。https://www.openssl.org/docs/manmaster/ssl/SSL_CTX_set1_sigalgs.htmlおそらく将来のリリースでもそうなるでしょう。

以前のバージョンでは、検証コールバックを設定するか、結果チェーンをチェックするだけで、MD5、RSA<=1024、NSA バックドアの疑いのある曲線を使用する ECC を使用する証明書またはチェーン、または「猫は嫌い」という CA ポリシーなどのその他の好ましくないものを拒否できます。

関連情報