Red Hat Application Migration Toolkit
package iaik.pkcs.pkcs7; import iaik.asn1.ASN1Object; import iaik.asn1.CON_SPEC; import iaik.asn1.DerCoder; import iaik.asn1.DerInputStream; import iaik.asn1.ObjectID; import iaik.asn1.SEQUENCE; import iaik.pkcs.PKCSException; import iaik.pkcs.PKCSParsingException; import iaik.pkcs.pkcs7.Content; import iaik.pkcs.pkcs7.c; import iaik.utils.TracedInputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class ContentInfo { // $FF: synthetic field static Class k; // $FF: synthetic field static Class h; // $FF: synthetic field static Class f; // $FF: synthetic field static Class g; // $FF: synthetic field static Class e; // $FF: synthetic field static Class i; // $FF: synthetic field static Class j; byte[] b; Content d; ObjectID c; private static c a = new c(); static Class a(String var0) { try { return Class.forName(var0); } catch (ClassNotFoundException var2) { throw new NoClassDefFoundError(var2.getMessage()); } } public void writeTo(OutputStream var1) throws PKCSException, IOException { DerCoder.encodeTo(this.toASN1Object(), var1); } public String toString(boolean var1) { StringBuffer var2 = new StringBuffer(); var2.append("ContentType: " + this.c.getName() + " {\n"); if(this.d == null) { var2.append("No content!\n"); } else { var2.append(this.d.toString(var1) + "\n}"); } return var2.toString(); } public String toString() { return this.toString(false); } public byte[] toByteArray() throws PKCSException { try { ByteArrayOutputStream var1 = new ByteArrayOutputStream(); DerCoder.encodeTo(this.toASN1Object(), var1); return var1.toByteArray(); } catch (IOException var2) { throw new PKCSException(var2.getMessage()); } } public ASN1Object toASN1Object() throws PKCSException { if(this.c == null) { throw new PKCSException("Cannot create ASN.1 object. At least the content type must be set!"); } else { boolean var1 = true; if(this.d == null) { var1 = false; } else { var1 = this.d.getBlockSize() > 0; } SEQUENCE var2 = new SEQUENCE(var1); var2.addComponent(this.c); if(this.d != null) { CON_SPEC var3 = new CON_SPEC(0, this.d.toASN1Object()); var3.setIndefiniteLength(var1); var2.addComponent(var3); } return var2; } } public void setContent(Content var1) { this.c = var1.getContentType(); this.d = var1; } public static void register(ObjectID var0, Class var1) { a.register(k != null?k:(k = a("iaik.pkcs.pkcs7.Content")), var0, var1); } public boolean hasContent() { return this.d != null; } public ObjectID getContentType() { return this.c; } public InputStream getContentInputStream() { return this.b == null?null:new ByteArrayInputStream(this.b); } public Content getContent() { return this.d; } public void destroyCriticalData() { } protected void decode(DerInputStream var1) throws PKCSParsingException, IOException { DerInputStream var2 = var1.readSequence(); this.c = var2.readObjectID(); if(var2.nextTag() == -1) { this.d = null; } else { DerInputStream var3 = var2.readContextSpecific(); try { this.d = create(this.c); } catch (PKCSException var5) { throw new PKCSParsingException(var5.getMessage()); } TracedInputStream var4 = new TracedInputStream(var3); this.d.decode(var4); this.b = var4.getTracedData(); var3.nextTag(); } } public static Content create(ObjectID var0, ASN1Object var1) throws PKCSParsingException { try { Content var2 = create(var0); var2.decode(var1); return var2; } catch (PKCSException var3) { throw new PKCSParsingException(var3.getMessage()); } } public static Content create(ObjectID var0) throws PKCSException { try { return (Content)a.create(k != null?k:(k = a("iaik.pkcs.pkcs7.Content")), var0, false); } catch (InstantiationException var1) { throw new PKCSException("No PKCS#7 type registered for the given object ID!"); } } public ContentInfo(InputStream var1) throws PKCSParsingException, IOException { if(var1 instanceof DerInputStream) { this.decode((DerInputStream)var1); } else { this.decode(new DerInputStream(var1)); } } public ContentInfo(Content var1) { this.c = var1.getContentType(); this.d = var1; } public ContentInfo(ObjectID var1) { this.c = var1; this.d = null; } public ContentInfo(ASN1Object var1) throws PKCSParsingException { ByteArrayInputStream var2 = new ByteArrayInputStream(DerCoder.encode(var1)); try { this.decode(new DerInputStream(var2)); } catch (IOException var4) { throw new PKCSParsingException("Error parsing ContentInfo: " + var4.getMessage()); } } private ContentInfo() { } static { register(ObjectID.pkcs7_data, j != null?j:(j = a("iaik.pkcs.pkcs7.Data"))); register(ObjectID.pkcs7_digestedData, i != null?i:(i = a("iaik.pkcs.pkcs7.DigestedData"))); register(ObjectID.pkcs7_signedData, e != null?e:(e = a("iaik.pkcs.pkcs7.SignedData"))); register(ObjectID.pkcs7_envelopedData, g != null?g:(g = a("iaik.pkcs.pkcs7.EnvelopedData"))); register(ObjectID.pkcs7_signedAndEnvelopedData, f != null?f:(f = a("iaik.pkcs.pkcs7.SignedAndEnvelopedData"))); register(ObjectID.pkcs7_encryptedData, h != null?h:(h = a("iaik.pkcs.pkcs7.EncryptedData"))); } }