Red Hat Application Migration Toolkit
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(); } }