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