JRE8、netty 4.1.x、および netty-tcnative 2.0.36 を使用するサーバーがあります。デフォルトSslProvider.OPENSSL
では設定されています。
SslContextBuilder contextBuilder = SslContextBuilder.forServer(keyMngrFactory)
.sslProvider(SslProvider.OPENSSL)
.enableOcsp(true);
サーバーは、TLS 1.2 および TLS_ECDHE_RSA* 暗号スイートで構成されています。
SSL ハンドシェイク中の ECDHE 一時キー交換に使用される楕円曲線 (supported_groups 拡張子) を制限 (ホワイトリスト) できるようにする必要があります。ただし、 ではSslProvider.OPENSSL
、サーバーはシステム プロパティを尊重していないようです-Djdk.tls.namedGroups
。代わりに、サーバーは一時的な鍵交換に常に P-256 を使用します。
に切り替えるとSslProvider.JDK
、上記のシステム プロパティ ( -Djdk.tls.namedGroups
) は ECDHE の一時キー交換中に反映されます。ただし、JDK プロバイダーを使用するように本番アプリケーションを切り替えることはできません。
私はhttps://github.com/netty/netty-tcnative/issues/567に出くわしました - これに基づいて、 supported_groups 拡張機能を制限するサポートはないと思います。しかし、代替アプローチがあるかどうかはわかりません。
私のクエリ:
SslProvider.OPENSSL
netty-tcnative で使用する場合、鍵交換に使用する楕円曲線 (サポートされるグループ/名前付きグループ) を制限できますか?- はいの場合、同じように構成する方法は?