use of org.bouncycastle.asn1.x509.PolicyConstraints in project XobotOS by xamarin.
the class RFC3280CertPathUtilities method wrapupCertB.
protected static int wrapupCertB(CertPath certPath, int index, int explicitPolicy) throws CertPathValidatorException {
List certs = certPath.getCertificates();
X509Certificate cert = (X509Certificate) certs.get(index);
//
// (b)
//
int tmpInt;
ASN1Sequence pc = null;
try {
pc = DERSequence.getInstance(CertPathValidatorUtilities.getExtensionValue(cert, RFC3280CertPathUtilities.POLICY_CONSTRAINTS));
} catch (AnnotatedException e) {
throw new ExtCertPathValidatorException("Policy constraints could not be decoded.", e, certPath, index);
}
if (pc != null) {
Enumeration policyConstraints = pc.getObjects();
while (policyConstraints.hasMoreElements()) {
ASN1TaggedObject constraint = (ASN1TaggedObject) policyConstraints.nextElement();
switch(constraint.getTagNo()) {
case 0:
try {
tmpInt = DERInteger.getInstance(constraint, false).getValue().intValue();
} catch (Exception e) {
throw new ExtCertPathValidatorException("Policy constraints requireExplicitPolicy field could not be decoded.", e, certPath, index);
}
if (tmpInt == 0) {
return 0;
}
break;
}
}
}
return explicitPolicy;
}
use of org.bouncycastle.asn1.x509.PolicyConstraints in project XobotOS by xamarin.
the class RFC3280CertPathUtilities method prepareNextCertI2.
protected static int prepareNextCertI2(CertPath certPath, int index, int policyMapping) throws CertPathValidatorException {
List certs = certPath.getCertificates();
X509Certificate cert = (X509Certificate) certs.get(index);
//
// (i)
//
ASN1Sequence pc = null;
try {
pc = DERSequence.getInstance(CertPathValidatorUtilities.getExtensionValue(cert, RFC3280CertPathUtilities.POLICY_CONSTRAINTS));
} catch (Exception e) {
throw new ExtCertPathValidatorException("Policy constraints extension cannot be decoded.", e, certPath, index);
}
int tmpInt;
if (pc != null) {
Enumeration policyConstraints = pc.getObjects();
while (policyConstraints.hasMoreElements()) {
try {
ASN1TaggedObject constraint = ASN1TaggedObject.getInstance(policyConstraints.nextElement());
if (constraint.getTagNo() == 1) {
tmpInt = DERInteger.getInstance(constraint, false).getValue().intValue();
if (tmpInt < policyMapping) {
return tmpInt;
}
break;
}
} catch (IllegalArgumentException e) {
throw new ExtCertPathValidatorException("Policy constraints extension contents cannot be decoded.", e, certPath, index);
}
}
}
return policyMapping;
}
use of org.bouncycastle.asn1.x509.PolicyConstraints in project robovm by robovm.
the class RFC3280CertPathUtilities method prepareNextCertI2.
protected static int prepareNextCertI2(CertPath certPath, int index, int policyMapping) throws CertPathValidatorException {
List certs = certPath.getCertificates();
X509Certificate cert = (X509Certificate) certs.get(index);
//
// (i)
//
ASN1Sequence pc = null;
try {
pc = DERSequence.getInstance(CertPathValidatorUtilities.getExtensionValue(cert, RFC3280CertPathUtilities.POLICY_CONSTRAINTS));
} catch (Exception e) {
throw new ExtCertPathValidatorException("Policy constraints extension cannot be decoded.", e, certPath, index);
}
int tmpInt;
if (pc != null) {
Enumeration policyConstraints = pc.getObjects();
while (policyConstraints.hasMoreElements()) {
try {
ASN1TaggedObject constraint = ASN1TaggedObject.getInstance(policyConstraints.nextElement());
if (constraint.getTagNo() == 1) {
tmpInt = DERInteger.getInstance(constraint, false).getValue().intValue();
if (tmpInt < policyMapping) {
return tmpInt;
}
break;
}
} catch (IllegalArgumentException e) {
throw new ExtCertPathValidatorException("Policy constraints extension contents cannot be decoded.", e, certPath, index);
}
}
}
return policyMapping;
}
use of org.bouncycastle.asn1.x509.PolicyConstraints in project keystore-explorer by kaikramer.
the class X509Ext method getPolicyConstraintsStringValue.
private String getPolicyConstraintsStringValue(byte[] value) throws IOException {
// @formatter:off
/*
* PolicyConstraints ::= ASN1Sequence { requireExplicitPolicy [0]
* SkipCerts OPTIONAL, inhibitPolicyMapping [1] SkipCerts OPTIONAL }
*
* SkipCerts ::= ASN1Integer (0..MAX)
*/
// @formatter:on
StringBuilder sb = new StringBuilder();
PolicyConstraints policyConstraints = PolicyConstraints.getInstance(value);
int requireExplicitPolicy = policyConstraints.getRequireExplicitPolicy();
int inhibitPolicyMapping = policyConstraints.getInhibitPolicyMapping();
if (requireExplicitPolicy != -1) {
// Optional
sb.append(MessageFormat.format(res.getString("RequireExplicitPolicy"), requireExplicitPolicy));
sb.append(NEWLINE);
}
if (inhibitPolicyMapping != -1) {
// Optional
sb.append(MessageFormat.format(res.getString("InhibitPolicyMapping"), inhibitPolicyMapping));
sb.append(NEWLINE);
}
return sb.toString();
}
use of org.bouncycastle.asn1.x509.PolicyConstraints in project Spark by igniterealtime.
the class CertificateModel method policyConstraintsExtractor.
private String policyConstraintsExtractor(ASN1Primitive primitive) {
PolicyConstraints pc = PolicyConstraints.getInstance(primitive);
String value = "";
if (pc.getInhibitPolicyMapping() != null) {
value += Res.getString("cert.extension.policy.constraints.inhibit.policy.mapping") + ": " + pc.getInhibitPolicyMapping() + "\n";
}
if (pc.getRequireExplicitPolicyMapping() != null) {
value += Res.getString("cert.extension.policy.constraints.require.explicit.policy.mapping") + ": " + pc.getRequireExplicitPolicyMapping();
}
return value;
}
Aggregations