Red Hat Application Migration Toolkit
package iaik.x509.extensions; import iaik.asn1.ASN; import iaik.asn1.ASN1Object; import iaik.asn1.CON_SPEC; import iaik.asn1.INTEGER; import iaik.asn1.ObjectID; import iaik.asn1.SEQUENCE; import iaik.x509.V3Extension; import iaik.x509.X509ExtensionException; import java.math.BigInteger; public class PolicyConstraints extends V3Extension { int b = -1; int a = -1; public static final ObjectID oid = new ObjectID("2.5.29.36", "PolicyConstraints"); public String toString() { StringBuffer var1 = new StringBuffer(); if(this.a != -1) { var1.append("require explicit policy: " + this.a + "\n"); } if(this.b != -1) { var1.append("inhibit policy mapping: " + this.b + "\n"); } var1.setLength(var1.length() - 1); return var1.toString(); } public ASN1Object toASN1Object() { boolean var1 = true; SEQUENCE var2 = new SEQUENCE(); if(this.a != -1) { var2.addComponent(new CON_SPEC(0, new INTEGER(this.a), var1)); } if(this.b != -1) { var2.addComponent(new CON_SPEC(1, new INTEGER(this.b), var1)); } return var2; } public void setRequireExplicitPolicy(int var1) { this.a = var1; } public void setInhibitPolicyMapping(int var1) { this.b = var1; } public void setInhibitExplicitPolicy(int var1) { this.setInhibitPolicyMapping(var1); } public void init(ASN1Object var1) throws X509ExtensionException { try { if(!var1.isA(ASN.SEQUENCE)) { throw new X509ExtensionException("PolicyConstraints has to be a SEQUENCE!"); } else { int var2 = var1.countComponents(); if(var2 > 2) { throw new X509ExtensionException("PolicyConstraints cannot have more than 2 components!"); } else { for(int var3 = 0; var3 < var1.countComponents(); ++var3) { CON_SPEC var4 = (CON_SPEC)var1.getComponentAt(var3); if(var4.isImplicitlyTagged()) { var4.forceImplicitlyTagged(ASN.INTEGER); } switch(var4.getAsnType().getTag()) { case 0: this.a = ((BigInteger)((ASN1Object)var4.getValue()).getValue()).intValue(); break; case 1: this.b = ((BigInteger)((ASN1Object)var4.getValue()).getValue()).intValue(); } } } } } catch (Exception var5) { throw new X509ExtensionException(var5.toString()); } } public int hashCode() { return oid.hashCode(); } public int getRequireExplicitPolicy() { return this.a; } public ObjectID getObjectID() { return oid; } public int getInhibitPolicyMapping() { return this.b; } public int getInhibitExplicitPolicy() { return this.getInhibitPolicyMapping(); } }