3

を取得する通常の方法はSSLSocketFactory、 newSSLContextを で初期化しTrustManager、メソッドKeyManagerSecureRandom使用するgetSocketFactory()ことです。ただし、これでは、必要な暗号スイートまたはプロトコルを有効にすることはできません。

HttpsURLConnectionこのような変更を許可する唯一の構成は、デフォルトを設定することですSSLSocketFactory。メソッドを拡張SSLSocketFactoryしてオーバーライドし、getDefaultCipherSuites()によって作成されたソケットをラップcreateSocket()して、必要な暗号とプロトコルを設定するクラスを作成できます。TrustManagerただし、この方法では接続の初期化ができませんか?

両方を実行できる方法はありますか?暗号スイートとプロトコルを設定し、信頼マネージャーを初期化しますか?

4

2 に答える 2

3

SSLSocketFactoryによって取得されたを取り、SSLContext.getSocketFactory()それを のカスタム サブクラスにラップします。これはSSLSocketFactory、 から取得したものに委譲しますSSLContextcreateSocket()、必要な暗号も設定します。

于 2013-07-09T19:32:02.243 に答える
1

JSSE リファレンス ガイドを参照してください。システム プロパティを介して暗号スイートを設定できます。

于 2013-07-09T23:30:47.983 に答える