java.security.cert.PKIXReason Java Examples
The following examples show how to use
java.security.cert.PKIXReason.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ConstraintsChecker.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
/** * Internal method to check the name constraints against a cert */ private void verifyNameConstraints(X509Certificate currCert) throws CertPathValidatorException { String msg = "name constraints"; if (debug != null) { debug.println("---checking " + msg + "..."); } // check name constraints only if there is a previous name constraint // and either the currCert is the final cert or the currCert is not // self-issued if (prevNC != null && ((i == certPathLength) || !X509CertImpl.isSelfIssued(currCert))) { if (debug != null) { debug.println("prevNC = " + prevNC); debug.println("currDN = " + currCert.getSubjectX500Principal()); } try { if (!prevNC.verify(currCert)) { throw new CertPathValidatorException(msg + " check failed", null, null, -1, PKIXReason.INVALID_NAME); } } catch (IOException ioe) { throw new CertPathValidatorException(ioe); } } // merge name constraints regardless of whether cert is self-issued prevNC = mergeNameConstraints(currCert, prevNC); if (debug != null) debug.println(msg + " verified."); }
Example #2
Source File: ConstraintsChecker.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
/** * Internal method to check the name constraints against a cert */ private void verifyNameConstraints(X509Certificate currCert) throws CertPathValidatorException { String msg = "name constraints"; if (debug != null) { debug.println("---checking " + msg + "..."); } // check name constraints only if there is a previous name constraint // and either the currCert is the final cert or the currCert is not // self-issued if (prevNC != null && ((i == certPathLength) || !X509CertImpl.isSelfIssued(currCert))) { if (debug != null) { debug.println("prevNC = " + prevNC + ", currDN = " + currCert.getSubjectX500Principal()); } try { if (!prevNC.verify(currCert)) { throw new CertPathValidatorException(msg + " check failed", null, null, -1, PKIXReason.INVALID_NAME); } } catch (IOException ioe) { throw new CertPathValidatorException(ioe); } } // merge name constraints regardless of whether cert is self-issued prevNC = mergeNameConstraints(currCert, prevNC); if (debug != null) debug.println(msg + " verified."); }
Example #3
Source File: BasicChecker.java From jdk8u_jdk with GNU General Public License v2.0 | 5 votes |
/** * Internal method to check that cert has a valid DN to be next in a chain */ private void verifyNameChaining(X509Certificate cert) throws CertPathValidatorException { if (prevSubject != null) { String msg = "subject/issuer name chaining"; if (debug != null) debug.println("---checking " + msg + "..."); X500Principal currIssuer = cert.getIssuerX500Principal(); // reject null or empty issuer DNs if (X500Name.asX500Name(currIssuer).isEmpty()) { throw new CertPathValidatorException (msg + " check failed: " + "empty/null issuer DN in certificate is invalid", null, null, -1, PKIXReason.NAME_CHAINING); } if (!(currIssuer.equals(prevSubject))) { throw new CertPathValidatorException (msg + " check failed", null, null, -1, PKIXReason.NAME_CHAINING); } if (debug != null) debug.println(msg + " verified."); } }
Example #4
Source File: ConstraintsChecker.java From jdk8u_jdk with GNU General Public License v2.0 | 5 votes |
/** * Internal method to check the name constraints against a cert */ private void verifyNameConstraints(X509Certificate currCert) throws CertPathValidatorException { String msg = "name constraints"; if (debug != null) { debug.println("---checking " + msg + "..."); } // check name constraints only if there is a previous name constraint // and either the currCert is the final cert or the currCert is not // self-issued if (prevNC != null && ((i == certPathLength) || !X509CertImpl.isSelfIssued(currCert))) { if (debug != null) { debug.println("prevNC = " + prevNC + ", currDN = " + currCert.getSubjectX500Principal()); } try { if (!prevNC.verify(currCert)) { throw new CertPathValidatorException(msg + " check failed", null, null, -1, PKIXReason.INVALID_NAME); } } catch (IOException ioe) { throw new CertPathValidatorException(ioe); } } // merge name constraints regardless of whether cert is self-issued prevNC = mergeNameConstraints(currCert, prevNC); if (debug != null) debug.println(msg + " verified."); }
Example #5
Source File: KeyChecker.java From jdk8u_jdk with GNU General Public License v2.0 | 5 votes |
/** * Verifies the key usage extension in a CA cert. * The key usage extension, if present, must assert the keyCertSign bit. * The extended key usage extension is not checked (see CR 4776794 for * more information). */ static void verifyCAKeyUsage(X509Certificate cert) throws CertPathValidatorException { String msg = "CA key usage"; if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() ---checking " + msg + "..."); } boolean[] keyUsageBits = cert.getKeyUsage(); // getKeyUsage returns null if the KeyUsage extension is not present // in the certificate - in which case there is nothing to check if (keyUsageBits == null) { return; } // throw an exception if the keyCertSign bit is not set if (!keyUsageBits[KEY_CERT_SIGN]) { throw new CertPathValidatorException (msg + " check failed: keyCertSign bit is not set", null, null, -1, PKIXReason.INVALID_KEY_USAGE); } if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() " + msg + " verified."); } }
Example #6
Source File: ValidateCertPath.java From jdk8u_jdk with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { try { parseArgs(args); validate(path, params); throw new Exception("Successfully validated invalid path."); } catch (CertPathValidatorException e) { if (e.getReason() != PKIXReason.INVALID_NAME) { throw new Exception("unexpected reason: " + e.getReason()); } System.out.println("Path rejected as expected: " + e); } }
Example #7
Source File: KeyChecker.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 5 votes |
/** * Verifies the key usage extension in a CA cert. * The key usage extension, if present, must assert the keyCertSign bit. * The extended key usage extension is not checked (see CR 4776794 for * more information). */ static void verifyCAKeyUsage(X509Certificate cert) throws CertPathValidatorException { String msg = "CA key usage"; if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() ---checking " + msg + "..."); } boolean[] keyUsageBits = cert.getKeyUsage(); // getKeyUsage returns null if the KeyUsage extension is not present // in the certificate - in which case there is nothing to check if (keyUsageBits == null) { return; } // throw an exception if the keyCertSign bit is not set if (!keyUsageBits[KEY_CERT_SIGN]) { throw new CertPathValidatorException (msg + " check failed: keyCertSign bit is not set", null, null, -1, PKIXReason.INVALID_KEY_USAGE); } if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() " + msg + " verified."); } }
Example #8
Source File: ConstraintsChecker.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 5 votes |
/** * Internal method to check the name constraints against a cert */ private void verifyNameConstraints(X509Certificate currCert) throws CertPathValidatorException { String msg = "name constraints"; if (debug != null) { debug.println("---checking " + msg + "..."); } // check name constraints only if there is a previous name constraint // and either the currCert is the final cert or the currCert is not // self-issued if (prevNC != null && ((i == certPathLength) || !X509CertImpl.isSelfIssued(currCert))) { if (debug != null) { debug.println("prevNC = " + prevNC + ", currDN = " + currCert.getSubjectX500Principal()); } try { if (!prevNC.verify(currCert)) { throw new CertPathValidatorException(msg + " check failed", null, null, -1, PKIXReason.INVALID_NAME); } } catch (IOException ioe) { throw new CertPathValidatorException(ioe); } } // merge name constraints regardless of whether cert is self-issued prevNC = mergeNameConstraints(currCert, prevNC); if (debug != null) debug.println(msg + " verified."); }
Example #9
Source File: BasicChecker.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 5 votes |
/** * Internal method to check that cert has a valid DN to be next in a chain */ private void verifyNameChaining(X509Certificate cert) throws CertPathValidatorException { if (prevSubject != null) { String msg = "subject/issuer name chaining"; if (debug != null) debug.println("---checking " + msg + "..."); X500Principal currIssuer = cert.getIssuerX500Principal(); // reject null or empty issuer DNs if (X500Name.asX500Name(currIssuer).isEmpty()) { throw new CertPathValidatorException (msg + " check failed: " + "empty/null issuer DN in certificate is invalid", null, null, -1, PKIXReason.NAME_CHAINING); } if (!(currIssuer.equals(prevSubject))) { throw new CertPathValidatorException (msg + " check failed", null, null, -1, PKIXReason.NAME_CHAINING); } if (debug != null) debug.println(msg + " verified."); } }
Example #10
Source File: ValidateCertPath.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { try { parseArgs(args); validate(path, params); throw new Exception("Successfully validated invalid path."); } catch (CertPathValidatorException e) { if (e.getReason() != PKIXReason.INVALID_NAME) { throw new Exception("unexpected reason: " + e.getReason()); } System.out.println("Path rejected as expected: " + e); } }
Example #11
Source File: KeyChecker.java From j2objc with Apache License 2.0 | 5 votes |
/** * Verifies the key usage extension in a CA cert. * The key usage extension, if present, must assert the keyCertSign bit. * The extended key usage extension is not checked (see CR 4776794 for * more information). */ static void verifyCAKeyUsage(X509Certificate cert) throws CertPathValidatorException { String msg = "CA key usage"; if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() ---checking " + msg + "..."); } boolean[] keyUsageBits = cert.getKeyUsage(); // getKeyUsage returns null if the KeyUsage extension is not present // in the certificate - in which case there is nothing to check if (keyUsageBits == null) { return; } // throw an exception if the keyCertSign bit is not set if (!keyUsageBits[KEY_CERT_SIGN]) { throw new CertPathValidatorException (msg + " check failed: keyCertSign bit is not set", null, null, -1, PKIXReason.INVALID_KEY_USAGE); } if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() " + msg + " verified."); } }
Example #12
Source File: ConstraintsChecker.java From j2objc with Apache License 2.0 | 5 votes |
/** * Internal method to check the name constraints against a cert */ private void verifyNameConstraints(X509Certificate currCert) throws CertPathValidatorException { String msg = "name constraints"; if (debug != null) { debug.println("---checking " + msg + "..."); } // check name constraints only if there is a previous name constraint // and either the currCert is the final cert or the currCert is not // self-issued if (prevNC != null && ((i == certPathLength) || !X509CertImpl.isSelfIssued(currCert))) { if (debug != null) { debug.println("prevNC = " + prevNC + ", currDN = " + currCert.getSubjectX500Principal()); } try { if (!prevNC.verify(currCert)) { throw new CertPathValidatorException(msg + " check failed", null, null, -1, PKIXReason.INVALID_NAME); } } catch (IOException ioe) { throw new CertPathValidatorException(ioe); } } // merge name constraints regardless of whether cert is self-issued prevNC = mergeNameConstraints(currCert, prevNC); if (debug != null) debug.println(msg + " verified."); }
Example #13
Source File: BasicChecker.java From j2objc with Apache License 2.0 | 5 votes |
/** * Internal method to check that cert has a valid DN to be next in a chain */ private void verifyNameChaining(X509Certificate cert) throws CertPathValidatorException { if (prevSubject != null) { String msg = "subject/issuer name chaining"; if (debug != null) debug.println("---checking " + msg + "..."); X500Principal currIssuer = cert.getIssuerX500Principal(); // reject null or empty issuer DNs if (X500Name.asX500Name(currIssuer).isEmpty()) { throw new CertPathValidatorException (msg + " check failed: " + "empty/null issuer DN in certificate is invalid", null, null, -1, PKIXReason.NAME_CHAINING); } if (!(currIssuer.equals(prevSubject))) { throw new CertPathValidatorException (msg + " check failed", null, null, -1, PKIXReason.NAME_CHAINING); } if (debug != null) debug.println(msg + " verified."); } }
Example #14
Source File: ValidateCertPath.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { try { parseArgs(args); validate(path, params); throw new Exception("Successfully validated invalid path."); } catch (CertPathValidatorException e) { if (e.getReason() != PKIXReason.INVALID_NAME) { throw new Exception("unexpected reason: " + e.getReason()); } System.out.println("Path rejected as expected: " + e); } }
Example #15
Source File: BasicChecker.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
/** * Internal method to check that cert has a valid DN to be next in a chain */ private void verifyNameChaining(X509Certificate cert) throws CertPathValidatorException { if (prevSubject != null) { String msg = "subject/issuer name chaining"; if (debug != null) debug.println("---checking " + msg + "..."); X500Principal currIssuer = cert.getIssuerX500Principal(); // reject null or empty issuer DNs if (X500Name.asX500Name(currIssuer).isEmpty()) { throw new CertPathValidatorException (msg + " check failed: " + "empty/null issuer DN in certificate is invalid", null, null, -1, PKIXReason.NAME_CHAINING); } if (!(currIssuer.equals(prevSubject))) { throw new CertPathValidatorException (msg + " check failed", null, null, -1, PKIXReason.NAME_CHAINING); } if (debug != null) debug.println(msg + " verified."); } }
Example #16
Source File: ValidateCertPath.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { try { parseArgs(args); validate(path, params); throw new Exception("Successfully validated invalid path."); } catch (CertPathValidatorException e) { if (e.getReason() != PKIXReason.INVALID_NAME) { throw new Exception("unexpected reason: " + e.getReason()); } System.out.println("Path rejected as expected: " + e); } }
Example #17
Source File: KeyChecker.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
/** * Verifies the key usage extension in a CA cert. * The key usage extension, if present, must assert the keyCertSign bit. * The extended key usage extension is not checked (see CR 4776794 for * more information). */ static void verifyCAKeyUsage(X509Certificate cert) throws CertPathValidatorException { String msg = "CA key usage"; if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() ---checking " + msg + "..."); } boolean[] keyUsageBits = cert.getKeyUsage(); // getKeyUsage returns null if the KeyUsage extension is not present // in the certificate - in which case there is nothing to check if (keyUsageBits == null) { return; } // throw an exception if the keyCertSign bit is not set if (!keyUsageBits[KEY_CERT_SIGN]) { throw new CertPathValidatorException (msg + " check failed: keyCertSign bit is not set", null, null, -1, PKIXReason.INVALID_KEY_USAGE); } if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() " + msg + " verified."); } }
Example #18
Source File: ValidateCertPath.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { try { parseArgs(args); validate(path, params); throw new Exception("Successfully validated invalid path."); } catch (CertPathValidatorException e) { if (e.getReason() != PKIXReason.INVALID_NAME) { throw new Exception("unexpected reason: " + e.getReason()); } System.out.println("Path rejected as expected: " + e); } }
Example #19
Source File: BasicChecker.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
/** * Internal method to check that cert has a valid DN to be next in a chain */ private void verifyNameChaining(X509Certificate cert) throws CertPathValidatorException { if (prevSubject != null) { String msg = "subject/issuer name chaining"; if (debug != null) debug.println("---checking " + msg + "..."); X500Principal currIssuer = cert.getIssuerX500Principal(); // reject null or empty issuer DNs if (X500Name.asX500Name(currIssuer).isEmpty()) { throw new CertPathValidatorException (msg + " check failed: " + "empty/null issuer DN in certificate is invalid", null, null, -1, PKIXReason.NAME_CHAINING); } if (!(currIssuer.equals(prevSubject))) { throw new CertPathValidatorException (msg + " check failed", null, null, -1, PKIXReason.NAME_CHAINING); } if (debug != null) debug.println(msg + " verified."); } }
Example #20
Source File: ConstraintsChecker.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
/** * Internal method to check the name constraints against a cert */ private void verifyNameConstraints(X509Certificate currCert) throws CertPathValidatorException { String msg = "name constraints"; if (debug != null) { debug.println("---checking " + msg + "..."); } // check name constraints only if there is a previous name constraint // and either the currCert is the final cert or the currCert is not // self-issued if (prevNC != null && ((i == certPathLength) || !X509CertImpl.isSelfIssued(currCert))) { if (debug != null) { debug.println("prevNC = " + prevNC); debug.println("currDN = " + currCert.getSubjectX500Principal()); } try { if (!prevNC.verify(currCert)) { throw new CertPathValidatorException(msg + " check failed", null, null, -1, PKIXReason.INVALID_NAME); } } catch (IOException ioe) { throw new CertPathValidatorException(ioe); } } // merge name constraints regardless of whether cert is self-issued prevNC = mergeNameConstraints(currCert, prevNC); if (debug != null) debug.println(msg + " verified."); }
Example #21
Source File: KeyChecker.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
/** * Verifies the key usage extension in a CA cert. * The key usage extension, if present, must assert the keyCertSign bit. * The extended key usage extension is not checked (see CR 4776794 for * more information). */ static void verifyCAKeyUsage(X509Certificate cert) throws CertPathValidatorException { String msg = "CA key usage"; if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() ---checking " + msg + "..."); } boolean[] keyUsageBits = cert.getKeyUsage(); // getKeyUsage returns null if the KeyUsage extension is not present // in the certificate - in which case there is nothing to check if (keyUsageBits == null) { return; } // throw an exception if the keyCertSign bit is not set if (!keyUsageBits[KEY_CERT_SIGN]) { throw new CertPathValidatorException (msg + " check failed: keyCertSign bit is not set", null, null, -1, PKIXReason.INVALID_KEY_USAGE); } if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() " + msg + " verified."); } }
Example #22
Source File: ValidateCertPath.java From hottub with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { try { parseArgs(args); validate(path, params); throw new Exception("Successfully validated invalid path."); } catch (CertPathValidatorException e) { if (e.getReason() != PKIXReason.INVALID_NAME) { throw new Exception("unexpected reason: " + e.getReason()); } System.out.println("Path rejected as expected: " + e); } }
Example #23
Source File: BasicChecker.java From hottub with GNU General Public License v2.0 | 5 votes |
/** * Internal method to check that cert has a valid DN to be next in a chain */ private void verifyNameChaining(X509Certificate cert) throws CertPathValidatorException { if (prevSubject != null) { String msg = "subject/issuer name chaining"; if (debug != null) debug.println("---checking " + msg + "..."); X500Principal currIssuer = cert.getIssuerX500Principal(); // reject null or empty issuer DNs if (X500Name.asX500Name(currIssuer).isEmpty()) { throw new CertPathValidatorException (msg + " check failed: " + "empty/null issuer DN in certificate is invalid", null, null, -1, PKIXReason.NAME_CHAINING); } if (!(currIssuer.equals(prevSubject))) { throw new CertPathValidatorException (msg + " check failed", null, null, -1, PKIXReason.NAME_CHAINING); } if (debug != null) debug.println(msg + " verified."); } }
Example #24
Source File: ConstraintsChecker.java From hottub with GNU General Public License v2.0 | 5 votes |
/** * Internal method to check the name constraints against a cert */ private void verifyNameConstraints(X509Certificate currCert) throws CertPathValidatorException { String msg = "name constraints"; if (debug != null) { debug.println("---checking " + msg + "..."); } // check name constraints only if there is a previous name constraint // and either the currCert is the final cert or the currCert is not // self-issued if (prevNC != null && ((i == certPathLength) || !X509CertImpl.isSelfIssued(currCert))) { if (debug != null) { debug.println("prevNC = " + prevNC + ", currDN = " + currCert.getSubjectX500Principal()); } try { if (!prevNC.verify(currCert)) { throw new CertPathValidatorException(msg + " check failed", null, null, -1, PKIXReason.INVALID_NAME); } } catch (IOException ioe) { throw new CertPathValidatorException(ioe); } } // merge name constraints regardless of whether cert is self-issued prevNC = mergeNameConstraints(currCert, prevNC); if (debug != null) debug.println(msg + " verified."); }
Example #25
Source File: KeyChecker.java From hottub with GNU General Public License v2.0 | 5 votes |
/** * Verifies the key usage extension in a CA cert. * The key usage extension, if present, must assert the keyCertSign bit. * The extended key usage extension is not checked (see CR 4776794 for * more information). */ static void verifyCAKeyUsage(X509Certificate cert) throws CertPathValidatorException { String msg = "CA key usage"; if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() ---checking " + msg + "..."); } boolean[] keyUsageBits = cert.getKeyUsage(); // getKeyUsage returns null if the KeyUsage extension is not present // in the certificate - in which case there is nothing to check if (keyUsageBits == null) { return; } // throw an exception if the keyCertSign bit is not set if (!keyUsageBits[KEY_CERT_SIGN]) { throw new CertPathValidatorException (msg + " check failed: keyCertSign bit is not set", null, null, -1, PKIXReason.INVALID_KEY_USAGE); } if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() " + msg + " verified."); } }
Example #26
Source File: ValidateCertPath.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { try { parseArgs(args); validate(path, params); throw new Exception("Successfully validated invalid path."); } catch (CertPathValidatorException e) { if (e.getReason() != PKIXReason.INVALID_NAME) { throw new Exception("unexpected reason: " + e.getReason()); } System.out.println("Path rejected as expected: " + e); } }
Example #27
Source File: KeyChecker.java From dragonwell8_jdk with GNU General Public License v2.0 | 5 votes |
/** * Verifies the key usage extension in a CA cert. * The key usage extension, if present, must assert the keyCertSign bit. * The extended key usage extension is not checked (see CR 4776794 for * more information). */ static void verifyCAKeyUsage(X509Certificate cert) throws CertPathValidatorException { String msg = "CA key usage"; if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() ---checking " + msg + "..."); } boolean[] keyUsageBits = cert.getKeyUsage(); // getKeyUsage returns null if the KeyUsage extension is not present // in the certificate - in which case there is nothing to check if (keyUsageBits == null) { return; } // throw an exception if the keyCertSign bit is not set if (!keyUsageBits[KEY_CERT_SIGN]) { throw new CertPathValidatorException (msg + " check failed: keyCertSign bit is not set", null, null, -1, PKIXReason.INVALID_KEY_USAGE); } if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() " + msg + " verified."); } }
Example #28
Source File: ConstraintsChecker.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
/** * Internal method to check the name constraints against a cert */ private void verifyNameConstraints(X509Certificate currCert) throws CertPathValidatorException { String msg = "name constraints"; if (debug != null) { debug.println("---checking " + msg + "..."); } // check name constraints only if there is a previous name constraint // and either the currCert is the final cert or the currCert is not // self-issued if (prevNC != null && ((i == certPathLength) || !X509CertImpl.isSelfIssued(currCert))) { if (debug != null) { debug.println("prevNC = " + prevNC + ", currDN = " + currCert.getSubjectX500Principal()); } try { if (!prevNC.verify(currCert)) { throw new CertPathValidatorException(msg + " check failed", null, null, -1, PKIXReason.INVALID_NAME); } } catch (IOException ioe) { throw new CertPathValidatorException(ioe); } } // merge name constraints regardless of whether cert is self-issued prevNC = mergeNameConstraints(currCert, prevNC); if (debug != null) debug.println(msg + " verified."); }
Example #29
Source File: KeyChecker.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
/** * Verifies the key usage extension in a CA cert. * The key usage extension, if present, must assert the keyCertSign bit. * The extended key usage extension is not checked (see CR 4776794 for * more information). */ static void verifyCAKeyUsage(X509Certificate cert) throws CertPathValidatorException { String msg = "CA key usage"; if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() ---checking " + msg + "..."); } boolean[] keyUsageBits = cert.getKeyUsage(); // getKeyUsage returns null if the KeyUsage extension is not present // in the certificate - in which case there is nothing to check if (keyUsageBits == null) { return; } // throw an exception if the keyCertSign bit is not set if (!keyUsageBits[KEY_CERT_SIGN]) { throw new CertPathValidatorException (msg + " check failed: keyCertSign bit is not set", null, null, -1, PKIXReason.INVALID_KEY_USAGE); } if (debug != null) { debug.println("KeyChecker.verifyCAKeyUsage() " + msg + " verified."); } }
Example #30
Source File: ValidateCertPath.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { try { parseArgs(args); validate(path, params); throw new Exception("Successfully validated invalid path."); } catch (CertPathValidatorException e) { if (e.getReason() != PKIXReason.INVALID_NAME) { throw new Exception("unexpected reason: " + e.getReason()); } System.out.println("Path rejected as expected: " + e); } }