0

私の開発マシンでは、HTTPS 接続の SSL ホスト名チェックを無効にしたいと考えています。ディスパッチ コードから発生する例外は次のとおりです。

javax.net.ssl.SSLException: hostname in certificate didn't match: <localhost> != <*.mydomain.com> OR <*.mydomain.com> OR <mydomain.com>
        at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:228) ~[httpclient-4.1.3.jar:4.1.3]
        at org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.verify(BrowserCompatHostnameVerifier.java:54) ~[httpclient-4.1.3.jar:4.1.3]
        at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:149) ~[httpclient-4.1.3.jar:4.1.3]
        at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:130) ~[httpclient-4.1.3.jar:4.1.3]
        at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:397) ~[httpclient-4.1.3.jar:4.1.3]
        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148) ~[httpclient-4.1.3.jar:4.1.3]

ディスパッチで使用される方法でデフォルトのホスト名ベリファイアを設定する方法を探しています。非推奨の HttpsURLConnection には、デフォルトのホスト名ベリファイアを設定するメソッドがありますが、そのクラス全体は明らかに非推奨です。これを行う現在の正しい方法はありますか?

4

1 に答える 1

0

javax.net.ssl.HttpsURLConnectionを支持して廃止されたのはcom.sun.net.ssl.HttpsURLConnectionです。後者は非推奨ではありません。

このチェックをバイパスする方法については、次のことができます。

  • 証明書ストアを変更します (この質問を参照)
  • JVM オプションを使用する (この質問を参照)
于 2013-03-26T05:37:24.313 に答える