Information

1
Story Points

Technologies

Decompiled Java File
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() {
   }
}
Page generated: Oct 19, 2017 2:34:25 PM