Depending on the target operating system, the classes and interfaces in the sun.security.x509 and sun.security.util packages might be replaced by classes and interfaces in the com.ibm.security.x509 and com.ibm.security.util packages.
The quick fix changes the package names to use the IBM Java Runtime Environment provided packages. The rule will detect fully qualified names in import statements and in the body of the Java code.
Do not run the quick fix for this rule if the Java Runtime Environment does not contain the IBM equivalent APIs. For example, the JRE for HP-UX and Solaris do not contain the IBM APIs.
The rule detects package imports such as
|
import sun.security.x509.*; import sun.security.util.*; |
The quick fix changes them to use the com.ibm.security packages.
|
import com.ibm.security.x509.*; import com.ibm.security.util.*; |
After applying the quick fixes for this rule, you may still have changes to make in your code depending on which APIs you use and how you use them. Use the Eclipse Java problem markers to help you work through additional changes needed because of the differences between the sun.security.x509 APIs and the com.ibm.security.x509 APIs. Some examples of the differences include:
com.ibm.security.x509 classes added the
final Java modifier so that
the classes can no longer be extended.sun.security.x509.ExtendedKeyUsageExtension does not mapcom.ibm.security.x509.OCSPNoCheckExtension does not mapcom.ibm.security.x509.X500Signer does not map
AlgorithmId static fields do not mapCertificateIssuerName.DN_PRINCIPAL does not mapFor additional information related to this rule, see: