8029788: Certificate validation - java.lang.ClassCastException
authorvinnie
Wed, 18 Dec 2013 12:23:41 +0000
changeset 22063 e5cdd7bc3564
parent 22062 175604b1209f
child 22064 e3c4398c54cd
8029788: Certificate validation - java.lang.ClassCastException Reviewed-by: xuelei, mullan, weijun
jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java
--- a/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java	Wed Dec 18 11:00:48 2013 +0100
+++ b/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java	Wed Dec 18 12:23:41 2013 +0000
@@ -427,9 +427,14 @@
         if (signerCert == null) {
             // Add the Issuing CA cert and/or Trusted Responder cert to the list
             // of certs from the OCSP response
-            certs.add((X509CertImpl) issuerCert);
-            if (responderCert != null) {
-                certs.add((X509CertImpl) responderCert);
+            try {
+                certs.add(X509CertImpl.toImpl(issuerCert));
+                if (responderCert != null) {
+                    certs.add(X509CertImpl.toImpl(responderCert));
+                }
+            } catch (CertificateException ce) {
+                throw new CertPathValidatorException(
+                    "Invalid issuer or trusted responder certificate", ce);
             }
 
             if (responderName != null) {