次のアプローチを使用できます。
まず、SSLContextオブジェクトを作成するときにオブジェクトへの参照を保持します。
SSLContext sslContext=SSLContext.getDefault();
sslContext.getServerSocketFactory().createServerSocket(1234).accept();
次に、新しい をロードする場合は、次のように、対応するTrustManagerを使用してメソッドを再度TrustManager呼び出すことができます。init()
TrustManager trustManagers[] = // load trust managers here.
sslContext.init(null,trustManagers,null);
ここで、init()メソッドは と の 3 つのパラメータをKeyManager[]取りTrustManager[]ますSecureRandom。nullそれらのいずれかを渡すSSLContextと、デフォルトのキー マネージャーとトラスト マネージャーがロードされます。Trust Manager のみをロードしたいので、newTrustManager[]をそれに渡す必要があります。
オブジェクトへの参照を変更してSSLContextいないため、フローが中断されたり、既存SSLIOSessionの s に影響したりすることはありません。