1

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 拡張機能を制限するサポートはないと思います。しかし、代替アプローチがあるかどうかはわかりません。

私のクエリ:

  1. SslProvider.OPENSSLnetty-tcnative で使用する場合、鍵交換に使用する楕円曲線 (サポートされるグループ/名前付きグループ) を制限できますか?
  2. はいの場合、同じように構成する方法は?
4

1 に答える 1