Red Hat Application Migration Toolkit
package iaik.pkcs;
import iaik.asn1.ASN;
import iaik.asn1.ASN1;
import iaik.asn1.ASN1Object;
import iaik.asn1.CON_SPEC;
import iaik.asn1.CodingException;
import iaik.asn1.DerCoder;
import iaik.asn1.ObjectID;
import iaik.asn1.SEQUENCE;
import iaik.pkcs.PKCSException;
import iaik.pkcs.PKCSParsingException;
import iaik.utils.Util;
import iaik.x509.X509Certificate;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class NetscapeCertList {
// $FF: synthetic field
static Class a;
private X509Certificate[] b;
static Class a(String var0) {
try {
return Class.forName(var0);
} catch (ClassNotFoundException var2) {
throw new NoClassDefFoundError(var2.getMessage());
}
}
public void writeTo(OutputStream var1) throws IOException {
try {
DerCoder.encodeTo(this.a(), var1);
} catch (CodingException var3) {
throw new IOException(var3.toString());
}
}
public String toString() {
StringBuffer var1 = new StringBuffer();
var1.append("ContentType: netscapeCertSequence {\n");
if(this.b == null) {
var1.append("No certificates!\n}");
} else {
var1.append(this.b.length + " certificates\n}");
}
return var1.toString();
}
public byte[] toByteArray() throws PKCSException {
try {
return DerCoder.encode(this.a());
} catch (CodingException var2) {
throw new PKCSException(var2.getMessage());
}
}
private ASN1Object a() throws CodingException {
SEQUENCE var1 = new SEQUENCE(true);
var1.addComponent(ObjectID.netscapeCertSequence);
ASN1Object var2 = ASN.createSequenceOf(this.b);
CON_SPEC var3 = new CON_SPEC(0, var2);
var1.addComponent(var3);
return var1;
}
public void setCertificateList(X509Certificate[] var1) {
this.b = var1;
}
public X509Certificate[] getCertificateList() {
return this.b;
}
private void a(InputStream var1) throws CodingException, IOException {
ASN1Object var2 = null;
byte[] var3 = Util.readStream(var1);
ASN1 var4 = new ASN1(var3);
var2 = var4.getComponentAt(0);
if(!(var2 instanceof ObjectID)) {
throw new CodingException("Invalid Netscape cert sequence. First component has to be an object identifier!");
} else if(!((ObjectID)var2).equals(ObjectID.netscapeCertSequence)) {
throw new CodingException("Invalid Netscape cert sequence. Wrong object identifier!");
} else {
var2 = var4.getComponentAt(1).getComponentAt(0);
this.b = (X509Certificate[])ASN.parseSequenceOf(var2, a != null?a:(a = a("iaik.x509.X509Certificate")));
}
}
public NetscapeCertList(InputStream var1) throws PKCSParsingException, IOException {
try {
this.a(var1);
} catch (CodingException var3) {
throw new PKCSParsingException(var3.getMessage());
}
}
public NetscapeCertList() {
}
}