changeset 39562:672b948cb355

8157712: Deprecate the javax.security.cert and com.sun.net.ssl APIs with forRemoval=true Reviewed-by: weijun
author xuelei
date Sat, 09 Jul 2016 05:48:16 +0000
parents b7e01947fa54
children 1449ed425710
files jdk/src/java.base/share/classes/com/sun/net/ssl/HostnameVerifier.java jdk/src/java.base/share/classes/com/sun/net/ssl/HttpsURLConnection.java jdk/src/java.base/share/classes/com/sun/net/ssl/KeyManager.java jdk/src/java.base/share/classes/com/sun/net/ssl/KeyManagerFactory.java jdk/src/java.base/share/classes/com/sun/net/ssl/KeyManagerFactorySpi.java jdk/src/java.base/share/classes/com/sun/net/ssl/SSLContext.java jdk/src/java.base/share/classes/com/sun/net/ssl/SSLContextSpi.java jdk/src/java.base/share/classes/com/sun/net/ssl/SSLPermission.java jdk/src/java.base/share/classes/com/sun/net/ssl/TrustManager.java jdk/src/java.base/share/classes/com/sun/net/ssl/TrustManagerFactory.java jdk/src/java.base/share/classes/com/sun/net/ssl/TrustManagerFactorySpi.java jdk/src/java.base/share/classes/com/sun/net/ssl/X509KeyManager.java jdk/src/java.base/share/classes/com/sun/net/ssl/X509TrustManager.java jdk/src/java.base/share/classes/com/sun/net/ssl/internal/ssl/Provider.java jdk/src/java.base/share/classes/com/sun/net/ssl/internal/ssl/X509ExtendedTrustManager.java jdk/src/java.base/share/classes/com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection.java jdk/src/java.base/share/classes/com/sun/net/ssl/internal/www/protocol/https/Handler.java jdk/src/java.base/share/classes/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java jdk/src/java.base/share/classes/javax/security/cert/Certificate.java jdk/src/java.base/share/classes/javax/security/cert/CertificateEncodingException.java jdk/src/java.base/share/classes/javax/security/cert/CertificateException.java jdk/src/java.base/share/classes/javax/security/cert/CertificateExpiredException.java jdk/src/java.base/share/classes/javax/security/cert/CertificateNotYetValidException.java jdk/src/java.base/share/classes/javax/security/cert/CertificateParsingException.java jdk/src/java.base/share/classes/javax/security/cert/X509Certificate.java jdk/src/java.base/share/classes/sun/security/jca/ProviderConfig.java jdk/src/java.base/share/classes/sun/security/ssl/SunJSSE.java
diffstat 27 files changed, 81 insertions(+), 46 deletions(-) [+]
line wrap: on
line diff
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/HostnameVerifier.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/HostnameVerifier.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,8 +38,9 @@
  * @deprecated As of JDK 1.4, this implementation-specific class was
  *      replaced by {@link javax.net.ssl.HostnameVerifier} and
  *      {@link javax.net.ssl.CertificateHostnameVerifier}.
+ *      This class is subject to removal in a future version of JDK.
  */
-@Deprecated
+@Deprecated(since="1.4", forRemoval=true)
 public interface HostnameVerifier {
     /**
      * Verify that the hostname from the URL is an acceptable
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/HttpsURLConnection.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/HttpsURLConnection.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,8 +44,9 @@
  *
  * @deprecated As of JDK 1.4, this implementation-specific class was
  *      replaced by {@link javax.net.ssl.HttpsURLConnection}.
+ *      This class is subject to removal in a future version of JDK.
  */
-@Deprecated
+@Deprecated(since="1.4", forRemoval=true)
 public abstract
 class HttpsURLConnection extends HttpURLConnection
 {
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/KeyManager.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/KeyManager.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,7 +36,8 @@
  *
  * @deprecated As of JDK 1.4, this implementation-specific class was
  *      replaced by {@link javax.net.ssl.KeyManager}.
+ *      This class is subject to removal in a future version of JDK.
  */
-@Deprecated
+@Deprecated(since="1.4", forRemoval=true)
 public interface KeyManager {
 }
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/KeyManagerFactory.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/KeyManagerFactory.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,8 +39,9 @@
  *
  * @deprecated As of JDK 1.4, this implementation-specific class was
  *      replaced by {@link javax.net.ssl.KeyManagerFactory}.
+ *      This class is subject to removal in a future version of JDK.
  */
-@Deprecated
+@Deprecated(since="1.4", forRemoval=true)
 public class KeyManagerFactory {
     // The provider
     private Provider provider;
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/KeyManagerFactorySpi.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/KeyManagerFactorySpi.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,8 +41,9 @@
  *
  * @deprecated As of JDK 1.4, this implementation-specific class was
  *      replaced by {@link javax.net.ssl.KeyManagerFactorySpi}.
+ *      This class is subject to removal in a future version of JDK.
  */
-@Deprecated
+@Deprecated(since="1.4", forRemoval=true)
 public abstract class KeyManagerFactorySpi {
     /**
      * Initializes this factory with a source of key material. The
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/SSLContext.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/SSLContext.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,8 +44,9 @@
  *
  * @deprecated As of JDK 1.4, this implementation-specific class was
  *      replaced by {@link javax.net.ssl.SSLContext}.
+ *      This class is subject to removal in a future version of JDK.
  */
-@Deprecated
+@Deprecated(since="1.4", forRemoval=true)
 public class SSLContext {
     private Provider provider;
 
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/SSLContextSpi.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/SSLContextSpi.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,8 +43,9 @@
  *
  * @deprecated As of JDK 1.4, this implementation-specific class was
  *      replaced by {@link javax.net.ssl.SSLContextSpi}.
+ *      This class is subject to removal in a future version of JDK.
  */
-@Deprecated
+@Deprecated(since="1.4", forRemoval=true)
 public abstract class SSLContextSpi {
     /**
      * Initializes this context.
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/SSLPermission.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/SSLPermission.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -97,8 +97,9 @@
  *
  * @deprecated As of JDK 1.4, this implementation-specific class was
  *      replaced by {@link javax.net.ssl.SSLPermission}.
+ *      This class is subject to removal in a future version of JDK.
  */
-@Deprecated
+@Deprecated(since="1.4", forRemoval=true)
 public final class SSLPermission extends BasicPermission {
 
     private static final long serialVersionUID = -2583684302506167542L;
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/TrustManager.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/TrustManager.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,7 +36,8 @@
  *
  * @deprecated As of JDK 1.4, this implementation-specific class was
  *      replaced by {@link javax.net.ssl.TrustManager}.
+ *      This class is subject to removal in a future version of JDK.
  */
-@Deprecated
+@Deprecated(since="1.4", forRemoval=true)
 public interface TrustManager {
 }
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/TrustManagerFactory.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/TrustManagerFactory.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,8 +39,9 @@
  *
  * @deprecated As of JDK 1.4, this implementation-specific class was
  *      replaced by {@link javax.net.ssl.TrustManagerFactory}.
+ *      This class is subject to removal in a future version of JDK.
  */
-@Deprecated
+@Deprecated(since="1.4", forRemoval=true)
 public class TrustManagerFactory {
     // The provider
     private Provider provider;
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/TrustManagerFactorySpi.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/TrustManagerFactorySpi.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,8 +41,9 @@
  *
  * @deprecated As of JDK 1.4, this implementation-specific class was
  *      replaced by {@link javax.net.ssl.TrustManagerFactorySpi}.
+ *      This class is subject to removal in a future version of JDK.
  */
-@Deprecated
+@Deprecated(since="1.4", forRemoval=true)
 public abstract class TrustManagerFactorySpi {
     /**
      * Initializes this factory with a source of certificate
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/X509KeyManager.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/X509KeyManager.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,8 +41,9 @@
  *
  * @deprecated As of JDK 1.4, this implementation-specific class was
  *      replaced by {@link javax.net.ssl.X509KeyManager}.
+ *      This class is subject to removal in a future version of JDK.
  */
-@Deprecated
+@Deprecated(since="1.4", forRemoval=true)
 public interface X509KeyManager extends KeyManager {
     /**
      * Get the matching aliases for authenticating the client side of a secure
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/X509TrustManager.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/X509TrustManager.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -40,8 +40,9 @@
  *
  * @deprecated As of JDK 1.4, this implementation-specific class was
  *      replaced by {@link javax.net.ssl.X509TrustManager}.
+ *      This class is subject to removal in a future version of JDK.
  */
-@Deprecated
+@Deprecated(since="1.4", forRemoval=true)
 public interface X509TrustManager extends TrustManager {
     /**
      * Given the partial or complete certificate chain
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/internal/ssl/Provider.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/internal/ssl/Provider.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,7 +31,10 @@
  * Main class for the SunJSSE provider. The actual code was moved to the
  * class sun.security.ssl.SunJSSE, but for backward compatibility we
  * continue to use this class as the main Provider class.
+ *
+ * @deprecated This class is subject to removal in a future version of JDK.
  */
+@Deprecated(since="9", forRemoval=true)
 public final class Provider extends SunJSSE {
 
     private static final long serialVersionUID = 3231825739635378733L;
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/internal/ssl/X509ExtendedTrustManager.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/internal/ssl/X509ExtendedTrustManager.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -54,7 +54,9 @@
  *
  * @since 1.6
  * @author Xuelei Fan
+ * @deprecated This class is subject to removal in a future version of JDK.
  */
+@Deprecated(since="9", forRemoval=true)
 public abstract class X509ExtendedTrustManager implements X509TrustManager {
     /**
      * Constructor used by subclasses only.
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -52,7 +52,9 @@
  * of protocol implementation (this one)
  * com.sun.net.ssl.HttpURLConnection is used in the com.sun version.
  *
+ * @deprecated This class is subject to removal in a future version of JDK.
  */
+@Deprecated(since="9", forRemoval=true)
 @SuppressWarnings("deprecation") // HttpsURLConnection is deprecated
 public class DelegateHttpsURLConnection extends AbstractDelegateHttpsURLConnection {
 
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/internal/www/protocol/https/Handler.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/internal/www/protocol/https/Handler.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,9 @@
  * only. The HTTPS implementation can now be found in
  * sun.net.www.protocol.https.
  *
+ * @deprecated This class is subject to removal in a future version of JDK.
  */
+@Deprecated(since="9", forRemoval=true)
 public class Handler extends sun.net.www.protocol.https.Handler {
 
     public Handler() {
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -59,11 +59,13 @@
  * needs to implement all public methods in it's super class and all
  * the way to Object.
  *
+ * @deprecated This class is subject to removal in a future version of JDK.
  */
 
 // For both copies of the file, uncomment one line and comment the other
 // public class HttpsURLConnectionImpl
 //      extends javax.net.ssl.HttpsURLConnection {
+@Deprecated(since="9", forRemoval=true)
 @SuppressWarnings("deprecation") // HttpsURLConnection is deprecated
 public class HttpsURLConnectionOldImpl
         extends com.sun.net.ssl.HttpsURLConnection {
--- a/jdk/src/java.base/share/classes/javax/security/cert/Certificate.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/javax/security/cert/Certificate.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -58,10 +58,11 @@
  * @since 1.4
  * @see X509Certificate
  * @deprecated Use the classes in {@code java.security.cert} instead.
+ *      This class is subject to removal in a future version of Java SE.
  *
  * @author Hemma Prafullchandra
  */
-@Deprecated
+@Deprecated(since="9", forRemoval=true)
 public abstract class Certificate {
 
     /**
--- a/jdk/src/java.base/share/classes/javax/security/cert/CertificateEncodingException.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/javax/security/cert/CertificateEncodingException.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,8 +39,9 @@
  * @since 1.4
  * @author Hemma Prafullchandra
  * @deprecated Use the classes in {@code java.security.cert} instead.
+ *      This class is subject to removal in a future version of Java SE.
  */
-@Deprecated
+@Deprecated(since="9", forRemoval=true)
 public class CertificateEncodingException extends CertificateException {
 
     private static final long serialVersionUID = -8187642723048403470L;
--- a/jdk/src/java.base/share/classes/javax/security/cert/CertificateException.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/javax/security/cert/CertificateException.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,8 +39,9 @@
  * @since 1.4
  * @see Certificate
  * @deprecated Use the classes in {@code java.security.cert} instead.
+ *      This class is subject to removal in a future version of Java SE.
  */
-@Deprecated
+@Deprecated(since="9", forRemoval=true)
 public class CertificateException extends Exception {
 
     private static final long serialVersionUID = -5757213374030785290L;
--- a/jdk/src/java.base/share/classes/javax/security/cert/CertificateExpiredException.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/javax/security/cert/CertificateExpiredException.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,8 +41,9 @@
  * @since 1.4
  * @author Hemma Prafullchandra
  * @deprecated Use the classes in {@code java.security.cert} instead.
+ *      This class is subject to removal in a future version of Java SE.
  */
-@Deprecated
+@Deprecated(since="9", forRemoval=true)
 public class CertificateExpiredException extends CertificateException {
 
     private static final long serialVersionUID = 5091601212177261883L;
--- a/jdk/src/java.base/share/classes/javax/security/cert/CertificateNotYetValidException.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/javax/security/cert/CertificateNotYetValidException.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,8 +41,9 @@
  * @since 1.4
  * @author Hemma Prafullchandra
  * @deprecated Use the classes in {@code java.security.cert} instead.
+ *      This class is subject to removal in a future version of Java SE.
  */
-@Deprecated
+@Deprecated(since="9", forRemoval=true)
 public class CertificateNotYetValidException extends CertificateException {
 
     private static final long serialVersionUID = -8976172474266822818L;
--- a/jdk/src/java.base/share/classes/javax/security/cert/CertificateParsingException.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/javax/security/cert/CertificateParsingException.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -40,8 +40,9 @@
  * @since 1.4
  * @author Hemma Prafullchandra
  * @deprecated Use the classes in {@code java.security.cert} instead.
+ *      This class is subject to removal in a future version of Java SE.
  */
-@Deprecated
+@Deprecated(since="9", forRemoval=true)
 public class CertificateParsingException extends CertificateException {
 
     private static final long serialVersionUID = -8449352422951136229L;
--- a/jdk/src/java.base/share/classes/javax/security/cert/X509Certificate.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/javax/security/cert/X509Certificate.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -125,8 +125,9 @@
  * @see java.security.cert.X509Extension
  * @see java.security.Security security properties
  * @deprecated Use the classes in {@code java.security.cert} instead.
+ *      This class is subject to removal in a future version of Java SE.
  */
-@Deprecated
+@Deprecated(since="9", forRemoval=true)
 public abstract class X509Certificate extends Certificate {
 
     /*
--- a/jdk/src/java.base/share/classes/sun/security/jca/ProviderConfig.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/jca/ProviderConfig.java	Sat Jul 09 05:48:16 2016 +0000
@@ -159,6 +159,8 @@
     /**
      * Get the provider object. Loads the provider if it is not already loaded.
      */
+    // com.sun.net.ssl.internal.ssl.Provider has been deprecated since JDK 9
+    @SuppressWarnings("deprecation")
     synchronized Provider getProvider() {
         // volatile variable load
         Provider p = provider;
--- a/jdk/src/java.base/share/classes/sun/security/ssl/SunJSSE.java	Fri Jul 08 16:16:45 2016 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/ssl/SunJSSE.java	Sat Jul 09 05:48:16 2016 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -237,6 +237,8 @@
             "sun.security.pkcs12.PKCS12KeyStore");
     }
 
+    // com.sun.net.ssl.internal.ssl.Provider has been deprecated since JDK 9
+    @SuppressWarnings("deprecation")
     private void subclassCheck() {
         if (getClass() != com.sun.net.ssl.internal.ssl.Provider.class) {
             throw new AssertionError("Illegal subclass: " + getClass());