Red Hat Application Migration Toolkit
package iaik.asn1;
import iaik.asn1.ASN1Object;
import iaik.asn1.ASN1Type;
import iaik.asn1.CodingException;
import iaik.asn1.SEQUENCE;
import iaik.asn1.SET;
import iaik.asn1.a;
import iaik.utils.InternalErrorException;
import java.lang.reflect.Array;
import java.util.Enumeration;
import java.util.Vector;
public class ASN implements Cloneable {
// $FF: synthetic field
static Class f;
// $FF: synthetic field
static Class u;
// $FF: synthetic field
static Class i;
// $FF: synthetic field
static Class j;
// $FF: synthetic field
static Class z;
// $FF: synthetic field
static Class r;
// $FF: synthetic field
static Class e;
// $FF: synthetic field
static Class g;
// $FF: synthetic field
static Class w;
// $FF: synthetic field
static Class s;
// $FF: synthetic field
static Class h;
// $FF: synthetic field
static Class k;
// $FF: synthetic field
static Class n;
// $FF: synthetic field
static Class m;
// $FF: synthetic field
static Class o;
// $FF: synthetic field
static Class p;
// $FF: synthetic field
static Class q;
// $FF: synthetic field
static Class d;
// $FF: synthetic field
static Class t;
// $FF: synthetic field
static Class l;
// $FF: synthetic field
static Class v;
// $FF: synthetic field
static Class x;
// $FF: synthetic field
static Class y;
protected String name;
protected int tag_class;
protected int tag;
private static final ASN b;
public static final ASN CON_SPEC;
public static final ASN BMPString;
public static final ASN UNIString;
public static final ASN GeneralString;
public static final ASN VisibleString;
public static final ASN GeneralizedTime;
public static final ASN UTCTime;
public static final ASN IA5String;
public static final ASN T61String;
public static final ASN PrintableString;
public static final ASN NumericString;
public static final ASN SET;
public static final ASN SEQUENCE;
public static final ASN UTF8String;
public static final ASN ENUMERATED;
public static final ASN EXTERNAL;
public static final ASN OBJECT_DESCRIPTOR;
public static final ASN ObjectID;
public static final ASN NULL;
public static final ASN OCTET_STRING;
public static final ASN BIT_STRING;
public static final ASN INTEGER;
public static final ASN BOOLEAN;
public static final ASN UNKNOWN;
public static final int PRIVATE = 192;
public static final int CONTEXT_SPECIFIC = 128;
public static final int APPLICATION = 64;
public static final int UNIVERSAL = 0;
private static final Class c;
static final a a = new a();
static Class a(String var0) {
try {
return Class.forName(var0);
} catch (ClassNotFoundException var2) {
throw new NoClassDefFoundError(var2.getMessage());
}
}
public String toString() {
StringBuffer var1 = new StringBuffer();
var1.append("ASN.1 Type [");
var1.append(this.tag);
var1.append(",");
var1.append(this.name);
var1.append(",");
if(this.tag_class == 192) {
var1.append("PRIVATE");
} else if(this.tag_class == 64) {
var1.append("APPLICATION");
} else if(this.tag_class == 128) {
var1.append("CONTEXT_SPECIFIC");
} else {
var1.append("UNIVERSAL");
}
var1.append("]");
return var1.toString();
}
public static void register(ASN var0, Class var1) {
a.register(c, var0, var1);
}
public static ASN1Type[] parseSequenceOf(ASN1Object var0, Class var1) throws CodingException {
ASN1Type[] var2 = null;
int var3 = var0.countComponents();
try {
var2 = (ASN1Type[])Array.newInstance(var1, var3);
for(int var4 = 0; var4 < var3; ++var4) {
var2[var4] = (ASN1Type)var1.newInstance();
var2[var4].decode(var0.getComponentAt(var4));
}
return var2;
} catch (InstantiationException var5) {
throw new InternalErrorException(var5);
} catch (IllegalAccessException var6) {
throw new InternalErrorException(var6);
}
}
public int hashCode() {
return this.tag | this.tag_class << 24;
}
public int getTagClass() {
return this.tag_class;
}
public int getTag() {
return this.tag;
}
public String getName() {
return this.name;
}
public boolean equals(Object var1) {
if(!(var1 instanceof ASN)) {
return false;
} else {
ASN var2 = (ASN)var1;
return this.tag == var2.tag && this.tag_class == var2.tag_class;
}
}
public static ASN1Object createSetOf(ASN1Type[] var0, boolean var1) throws CodingException {
SET var2 = new SET(var1);
if(var0 == null) {
return var2;
} else {
for(int var3 = 0; var3 < var0.length; ++var3) {
var2.addComponent(var0[var3].toASN1Object());
}
return var2;
}
}
public static ASN1Object createSetOf(ASN1Type[] var0) throws CodingException {
return createSetOf(var0, false);
}
public static ASN1Object createSetOf(Vector var0) throws CodingException {
ASN1Type[] var1 = new ASN1Type[var0.size()];
int var2 = 0;
for(Enumeration var3 = var0.elements(); var3.hasMoreElements(); ++var2) {
var1[var2] = (ASN1Type)var3.nextElement();
}
return createSetOf(var1);
}
public static ASN1Object createSequenceOf(ASN1Type[] var0) throws CodingException {
SEQUENCE var1 = new SEQUENCE();
if(var0 != null && var0.length != 0) {
for(int var2 = 0; var2 < var0.length; ++var2) {
var1.addComponent(var0[var2].toASN1Object());
}
return var1;
} else {
return var1;
}
}
public static ASN1Object createSequenceOf(Vector var0) throws CodingException {
ASN1Type[] var1 = new ASN1Type[var0.size()];
int var2 = 0;
for(Enumeration var3 = var0.elements(); var3.hasMoreElements(); ++var2) {
var1[var2] = (ASN1Type)var3.nextElement();
}
return createSequenceOf(var1);
}
public static ASN1Object create(ASN var0, Object var1) throws InstantiationException {
ASN1Object var2 = create(var0);
var2.setValue(var1);
return var2;
}
public static ASN1Object create(ASN var0) throws InstantiationException {
if(var0 == null) {
var0 = NULL;
}
ASN1Object var1;
if(var0.tag_class == 128) {
var1 = (ASN1Object)a.create(c, b, false);
var1.asnType.tag = var0.tag;
} else {
var1 = (ASN1Object)a.create(c, var0, false);
}
return var1;
}
public Object clone() {
ASN var1 = new ASN(this.tag, this.name, this.tag_class);
return var1;
}
public ASN(int var1, String var2, int var3) {
this.tag = var1;
this.name = var2;
this.tag_class = var3;
}
public ASN(int var1, String var2) {
this.tag = var1;
this.name = var2;
this.tag_class = 0;
}
static {
c = y != null?y:(y = a("iaik.asn1.ASN1Object"));
UNKNOWN = new ASN(0, "UNKNOWN");
BOOLEAN = new ASN(1, "BOOLEAN");
INTEGER = new ASN(2, "INTEGER");
BIT_STRING = new ASN(3, "BIT STRING");
OCTET_STRING = new ASN(4, "OCTET STRING");
NULL = new ASN(5, "NULL");
ObjectID = new ASN(6, "OBJECT ID");
OBJECT_DESCRIPTOR = new ASN(7, "OBJECT DESCRIPTOR");
EXTERNAL = new ASN(8, "EXTERNAL");
ENUMERATED = new ASN(10, "ENUMERATED");
UTF8String = new ASN(12, "UTF8String");
SEQUENCE = new ASN(16, "SEQUENCE");
SET = new ASN(17, "SET");
NumericString = new ASN(18, "NumericString");
PrintableString = new ASN(19, "PrintableString");
T61String = new ASN(20, "T61String");
IA5String = new ASN(22, "IA5String");
UTCTime = new ASN(23, "UTCTime");
GeneralizedTime = new ASN(24, "GeneralizedTime");
VisibleString = new ASN(26, "VisibleString");
GeneralString = new ASN(27, "GeneralString");
UNIString = new ASN(28, "UNIString");
BMPString = new ASN(30, "BMPString");
CON_SPEC = new ASN(128, "CONTEXTSPECIFIC", 128);
b = new ASN(0, "CONTEXTSPECIFIC", 128);
register(BIT_STRING, x != null?x:(x = a("iaik.asn1.BIT_STRING")));
register(BOOLEAN, v != null?v:(v = a("iaik.asn1.BOOLEAN")));
register(ObjectID, l != null?l:(l = a("iaik.asn1.ObjectID")));
register(ENUMERATED, t != null?t:(t = a("iaik.asn1.ENUMERATED")));
register(UTF8String, d != null?d:(d = a("iaik.asn1.UTF8String")));
register(IA5String, q != null?q:(q = a("iaik.asn1.IA5String")));
register(INTEGER, p != null?p:(p = a("iaik.asn1.INTEGER")));
register(NULL, o != null?o:(o = a("iaik.asn1.NULL")));
register(OCTET_STRING, m != null?m:(m = a("iaik.asn1.OCTET_STRING")));
register(NumericString, n != null?n:(n = a("iaik.asn1.NumericString")));
register(PrintableString, k != null?k:(k = a("iaik.asn1.PrintableString")));
register(T61String, h != null?h:(h = a("iaik.asn1.T61String")));
register(GeneralString, s != null?s:(s = a("iaik.asn1.GeneralString")));
register(BMPString, w != null?w:(w = a("iaik.asn1.BMPString")));
register(UNIString, g != null?g:(g = a("iaik.asn1.UNIString")));
register(UTCTime, e != null?e:(e = a("iaik.asn1.UTCTime")));
register(GeneralizedTime, r != null?r:(r = a("iaik.asn1.GeneralizedTime")));
register(VisibleString, z != null?z:(z = a("iaik.asn1.VisibleString")));
register(SEQUENCE, j != null?j:(j = a("iaik.asn1.SEQUENCE")));
register(SET, i != null?i:(i = a("iaik.asn1.SET")));
register(b, u != null?u:(u = a("iaik.asn1.CON_SPEC")));
register(UNKNOWN, f != null?f:(f = a("iaik.asn1.UNKNOWN")));
}
}