com.sun.net.ssl パッケージのクラスおよびインターフェースは、非推奨になり、javax.net.ssl パッケージのクラスおよびインターフェースに置き換えられました。
自動化されたフィックスは、 com.sun.net.ssl パッケージへの参照を javax.net.sslに変更します。 カスタム構成をアプリケーション・ビルド・ファイルにコピーして、フィックスの自動化を有効にします。 規則は Java コードのインポート・ステートメント内および本文中の完全修飾名を検出します。
例えば、以下のようなコード断片があるとします。
import com.sun.net.ssl.X509KeyManager;
if (keyManager instanceof com.sun.net.ssl.X509KeyManager)
|
これは、次のように変更されます。
import javax.net.ssl.X509KeyManager;
if (keyManager instanceof javax.net.ssl.X509KeyManager)
|
自動修正変更パッケージは、以下のようなインポートを行います。
import com.sun.net.ssl.*;
|
これを以下のように変更します。
このルールの自動修正を適用した後も、使用する API とその使用方法に応じて、いくつかの変更を加えることができます。
Eclipse Java 問題マーカーを使用すると、com.sun.net.ssl API と javax.net.ssl API の違いのために
必要な追加の変更を実行するのに役立ちます。
こうした違いの例として次のようなものがあります。
- javax.net.ssl.KeyManager、javax.net.ssl.KeyManagerFactory、
javax.net.ssl.TrustManager、および javax.net.ssl.TrustManagerFactory の一部のメソッドに、Java 修飾子 final が追加されたため、オーバーライドできなくなった。
- javax.net.ssl.X509KeyManager
でメソッド
chooseClientAlias および
chooseServerAlias のパラメーター・タイプが変更された。
- javax.net.ssl.KeyManagerFactorySpi
および javax.net.ssl.TrustManagerFactorySpi
で engineInit(KeyManagerFactoryParametersSpec arg0) メソッドが削除された。
その代わりに別のメソッドが追加された。
- javax.net.ssl.SSLContextSpi で engineInit(String arg0, String arg1, String arg2) メソッドが削除された。
その代わりに別のメソッドが追加された。
- javax.net.ssl.SSLContext の init メソッドで引数が変更された。
- javax.net.ssl.X509TrustManager で
isClientTrusted メソッドおよび isServerTrusted メソッドが変更された。
代わりに、checkClientTrusted メソッドおよび checkServerTrusted メソッドに適切なパラメーターを付けて使用。
- クラス javax.net.ssl.HttpsURLConnection で、新規の抽象メソッドが実装される。
- クラス javax.net.ssl.KeyManagerFactorySpi で、新規の抽象メソッドが実装される。
- クラス javax.net.ssl.SSLContextSpi で、新規の抽象メソッドが実装される。
- クラス javax.net.ssl.TrustManagerFactorySpi で、新規の抽象メソッドが実装される。
- インターフェース javax.net.ssl.HostnameVerifier で、新規の抽象メソッドが実装される。
- インターフェース javax.net.ssl.X509KeyManager で、新規の抽象メソッドが実装される。
- インターフェース javax.net.ssl.X509TrustManager で、新規の抽象メソッドが実装される。
この規則に関連した詳細情報については、以下を参照してください。