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.CodingException; import iaik.asn1.INTEGER; import iaik.asn1.OCTET_STRING; import iaik.asn1.ObjectID; import iaik.asn1.SEQUENCE; import iaik.asn1.structures.GeneralNames; import iaik.utils.Util; import iaik.x509.V3Extension; import iaik.x509.X509ExtensionException; import java.math.BigInteger; public class AuthorityKeyIdentifier extends V3Extension { private BigInteger b; private GeneralNames c; private byte[] a; public static final ObjectID oid = new ObjectID("2.5.29.35", "AuthorityKeyIdentifier"); public String toString() { StringBuffer var1 = new StringBuffer(); if(this.a != null) { var1.append("KeyIdentifier: " + Util.toString(this.a) + "\n"); } if(this.c != null) { var1.append("AuthorityCertIssuer: " + this.c + "\n"); } if(this.b != null) { var1.append("AuthorityCertSerialNumber: " + this.b.toString(16) + "\n"); } var1.setLength(var1.length() - 1); return var1.toString(); } public ASN1Object toASN1Object() throws X509ExtensionException { boolean var1 = true; SEQUENCE var2 = new SEQUENCE(); if(this.a != null) { var2.addComponent(new CON_SPEC(0, new OCTET_STRING(this.a), var1)); } if(this.c != null) { try { var2.addComponent(new CON_SPEC(1, this.c.toASN1Object(), var1)); } catch (CodingException var4) { throw new X509ExtensionException(var4.getMessage()); } } if(this.b != null) { var2.addComponent(new CON_SPEC(2, new INTEGER(this.b), var1)); } return var2; } public void setKeyIdentifier(byte[] var1) { this.a = var1; } public void setAuthorityCertSerialNumber(BigInteger var1) { this.b = var1; } public void setAuthorityCertIssuer(GeneralNames var1) { this.c = var1; } public void init(ASN1Object var1) throws X509ExtensionException { ASN1Object var2 = null; try { for(int var3 = 0; var3 < var1.countComponents(); ++var3) { CON_SPEC var4 = (CON_SPEC)var1.getComponentAt(var3); switch(var4.getAsnType().getTag()) { case 0: OCTET_STRING var5 = null; if(var4.isImplicitlyTagged()) { var4.forceImplicitlyTagged(ASN.OCTET_STRING); } var2 = (ASN1Object)var4.getValue(); if(!(var2 instanceof OCTET_STRING)) { throw new CodingException("Cannot parse keyIdentifier. Expected an OCTET_STRING!"); } var5 = (OCTET_STRING)var2; this.a = (byte[])var5.getValue(); break; case 1: Object var6 = var4.getValue(); if(!(var6 instanceof ASN1Object) || !((ASN1Object)var6).getAsnType().equals(ASN.SEQUENCE)) { var4.forceImplicitlyTagged(ASN.SEQUENCE); } var2 = (ASN1Object)var4.getValue(); this.c = new GeneralNames(var2); break; case 2: INTEGER var7 = null; if(var4.isImplicitlyTagged()) { var4.forceImplicitlyTagged(ASN.INTEGER); } var2 = (ASN1Object)var4.getValue(); if(!(var2 instanceof INTEGER)) { throw new CodingException("Cannot parse authorityCertSerialNumber. Expected an INTEGER!"); } var7 = (INTEGER)var2; this.b = (BigInteger)var7.getValue(); } } } catch (Exception var8) { throw new X509ExtensionException(var8.getMessage()); } } public int hashCode() { return oid.hashCode(); } public ObjectID getObjectID() { return oid; } public byte[] getKeyIdentifier() { return this.a; } public BigInteger getAuthorityCertSerialNumber() { return this.b; } public GeneralNames getAuthorityCertIssuer() { return this.c; } public AuthorityKeyIdentifier(byte[] var1) { this.a = var1; } public AuthorityKeyIdentifier(GeneralNames var1, BigInteger var2) { this.c = var1; this.b = var2; } public AuthorityKeyIdentifier() { } }