リモート サーバー証明書にバグがあり、証明書の CN とドメイン名が一致しないという問題が定期的に発生し、私はこれに影響を与えることができません。この問題を解決するには、ダミーのホスト名検証ツールを作成して設定します (例の scala 構文)。
val hv = new HostnameVerifier() {
def verify(s: String, sslSession: SSLSession) = true
}
実際の接続にアクセスできる場合は、接続ごとにこのベリファイアを設定できます。
https_connection.setHostnameVerifier(hv)
ただし、wsimport で生成された SOAP ラッパーを使用するなど、接続を直接制御できない場合は、次のようにします。
HttpsURLConnection.setDefaultHostnameVerifier(hv)
そして、それをクラスに設定します。
質問: HTTPS に接続するクラスを使用する tomcat webapp があり、そのうちの 1 つが静的メソッドを使用してデフォルトのベリファイアを設定している場合、この変更が影響する範囲はどれですか?
別の質問: wsimport で生成された SOAP Web サービスでホスト名検証機能を設定するにはどうすればよいですか?