JDK-8160247 : Mark deprecated javax.security.cert APIs with forRemoval=true
  • Type: Enhancement
  • Component: security-libs
  • Sub-Component: javax.net.ssl
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2016-06-24
  • Updated: 2019-07-31
  • Resolved: 2019-03-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 13
13 b12Fixed
Related Reports
CSR :  
Relates :  
Relates :  
Relates :  
Sub Tasks
JDK-8219478 :  
JSSE 1.0.x was an unbundled release that provided JDK 1.2/1.3 with SSL/TLS, and was eventually bundled in JDK 1.4.

The com.sun.net.ssl APIs were deprecated in 1.4, but were left for backwards compatibility with JSSE 1.0.x applications.  They were never part of the 1.4+ API set.

The javax.security.cert APIs were deprecated in 1.9 but have had the following warning (since 1.4?) in the description of each class:

    Note: The classes in the package javax.security.cert exist for compatibility with earlier versions of the Java Secure Sockets Extension (JSSE).
    New applications should instead use the standard Java SE certificate classes located in java.security.cert. 

Since these earlier versions of JSSE are no longer maintained or supported, there is no reason to retain these packages for compatibility and they should be removed in a future release.  

Methods that use the javax.security.cert APIs should be marked with forRemoval=true too.

The removal of this internal package will be addressed in JDK-8215430.  While the public APIs update will be addressed in this RFE.

See JDK-8157712, JDK-8161898 and JDK-8215430.
The removal of the internal com.sun.net.ssl package will be addressed in JDK-8215430.

These APIs were originally marked for removal in JDK 9 but the change was backed out before 9 was released because some external projects needed more time to remove the dependencies. Marking them for removal is being re-targeted to JDK 10.