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();
}
}