List of usage examples for org.bouncycastle.asn1.x509 X509Extensions PolicyConstraints
ASN1ObjectIdentifier PolicyConstraints
To view the source code for org.bouncycastle.asn1.x509 X509Extensions PolicyConstraints.
Click Source Link
From source file:org.qipki.crypto.x509.X509ExtensionsReaderImpl.java
License:Open Source License
@Override public Set<PolicyConstraint> getPolicyConstraints(X509Certificate cert) { try {//w w w . j a v a 2 s . c o m byte[] value = cert.getExtensionValue(X509Extensions.PolicyConstraints.getId()); if (value == null) { return Collections.emptySet(); } ASN1Sequence constraintsSequence = (ASN1Sequence) ASN1Object.fromByteArray(value); Set<PolicyConstraint> constraints = new LinkedHashSet<PolicyConstraint>(); for (int idx = 0; idx < constraintsSequence.size(); idx++) { DERTaggedObject asn1Constraint = (DERTaggedObject) constraintsSequence.getObjectAt(idx); DERInteger skipCerts = new DERInteger(((DEROctetString) asn1Constraint.getObject()).getOctets()); PolicyConstraint constraint = new PolicyConstraint(); switch (asn1Constraint.getTagNo()) { case 0: constraint.setRequireExplicitPolicy(skipCerts.getValue().intValue()); break; case 1: constraint.setInhibitPolicyMapping(skipCerts.getValue().intValue()); } constraints.add(constraint); } return constraints; } catch (IOException ex) { throw new CryptoFailure("Unable to extract PolicyConstraints from X509Certificate extensions", ex); } }