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 で、新規の抽象メソッドが実装される。
この規則に関連した詳細情報については、以下を参照してください。