Information

1
Story Points

Technologies

Decompiled Java File
package iaik.x509.extensions;

import iaik.asn1.ASN1Object;
import iaik.asn1.ObjectID;
import iaik.asn1.SEQUENCE;
import iaik.x509.V3Extension;
import iaik.x509.X509ExtensionException;
import java.util.Vector;

public class ExtendedKeyUsage extends V3Extension {
   private Vector a;
   public static final ObjectID netscapeSGC = new ObjectID("2.16.840.1.113730.4.1", "Netscape Server Gated Cryptography");
   public static final ObjectID microsoftSGC = new ObjectID("1.3.6.1.4.1.311.10.3.3", "Microsoft Server Gated Cryptography");
   public static final ObjectID iKEIntermediate = new ObjectID("1.3.6.1.5.5.8.2.2", "iKEIntermediate");
   public static final ObjectID ocspSigning = new ObjectID("1.3.6.1.5.5.7.3.9", "OCSPSigning");
   public static final ObjectID timeStamping = new ObjectID("1.3.6.1.5.5.7.3.8", "Timestamping");
   public static final ObjectID ipsecUser = new ObjectID("1.3.6.1.5.5.7.3.7", "IP security user");
   public static final ObjectID ipsecTunnel = new ObjectID("1.3.6.1.5.5.7.3.6", "IP security tunel termination");
   public static final ObjectID ipsecEndSystem = new ObjectID("1.3.6.1.5.5.7.3.5", "IP security end system");
   public static final ObjectID emailProtection = new ObjectID("1.3.6.1.5.5.7.3.4", "E-mail protection");
   public static final ObjectID codeSigning = new ObjectID("1.3.6.1.5.5.7.3.3", "Code signing");
   public static final ObjectID clientAuth = new ObjectID("1.3.6.1.5.5.7.3.2", "TLS Web client authentication");
   public static final ObjectID serverAuth = new ObjectID("1.3.6.1.5.5.7.3.1", "TLS Web server authentication");
   public static final ObjectID oid = new ObjectID("2.5.29.37", "ExtendedKeyUsage");

   public String toString() {
      StringBuffer var1 = new StringBuffer();

      for(int var2 = 0; var2 < this.a.size(); ++var2) {
         var1.append("KeyPurposeId " + var2 + ":  " + ((ObjectID)this.a.elementAt(var2)).getName() + "\n");
      }

      var1.setLength(var1.length() - 1);
      return var1.toString();
   }

   public ASN1Object toASN1Object() throws X509ExtensionException {
      SEQUENCE var1 = new SEQUENCE();

      for(int var2 = 0; var2 < this.a.size(); ++var2) {
         var1.addComponent((ASN1Object)this.a.elementAt(var2));
      }

      return var1;
   }

   public boolean removeKeyPurposeID(ObjectID var1) {
      return this.a.removeElement(var1);
   }

   public void removeAllKeyPurposeIDs() {
      this.a.removeAllElements();
   }

   public void init(ASN1Object var1) throws X509ExtensionException {
      try {
         for(int var2 = 0; var2 < var1.countComponents(); ++var2) {
            this.a.addElement(var1.getComponentAt(var2));
         }

      } catch (Exception var3) {
         throw new X509ExtensionException("Error decoding extension: " + var3.getMessage());
      }
   }

   public int hashCode() {
      return oid.hashCode();
   }

   public ObjectID getObjectID() {
      return oid;
   }

   public ObjectID[] getKeyPurposeIDs() {
      ObjectID[] var1 = new ObjectID[this.a.size()];
      this.a.copyInto(var1);
      return var1;
   }

   public void addKeyPurposeID(ObjectID var1) {
      if(!this.a.contains(var1)) {
         this.a.addElement(var1);
      }

   }

   public ExtendedKeyUsage(ObjectID[] var1) {
      this();

      for(int var2 = 0; var2 < var1.length; ++var2) {
         this.addKeyPurposeID(var1[var2]);
      }

   }

   public ExtendedKeyUsage(ObjectID var1) {
      this();
      this.addKeyPurposeID(var1);
   }

   public ExtendedKeyUsage() {
      this.a = new Vector();
   }
}
Page generated: Oct 19, 2017 2:34:15 PM