Red Hat Application Migration Toolkit
package iaik.pkcs.pkcs7; import iaik.asn1.ASN1Object; import iaik.asn1.DerCoder; import iaik.asn1.DerInputStream; import iaik.asn1.INTEGER; import iaik.asn1.ObjectID; import iaik.asn1.SEQUENCE; import iaik.asn1.structures.AlgorithmID; import iaik.pkcs.PKCSException; import iaik.pkcs.PKCSParsingException; import iaik.pkcs.pkcs7.Content; import iaik.pkcs.pkcs7.EncryptedContentInfo; import iaik.pkcs.pkcs7.EncryptedDataStream; import iaik.utils.InternalErrorException; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.security.AlgorithmParameters; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.Key; import java.security.NoSuchAlgorithmException; import java.security.spec.AlgorithmParameterSpec; import java.security.spec.InvalidParameterSpecException; public class EncryptedData extends EncryptedDataStream implements Content { // $FF: synthetic field static Class b; private EncryptedContentInfo a; static Class a(String var0) { try { return Class.forName(var0); } catch (ClassNotFoundException var2) { throw new NoClassDefFoundError(var2.getMessage()); } } public String toString(boolean var1) { StringBuffer var2 = new StringBuffer(); var2.append("Version: " + super.version + "\n"); var2.append("EncryptedContentInfo:\n"); var2.append(this.a.toString()); return var2.toString(); } protected ASN1Object toASN1Object(int var1) throws PKCSException { if(var1 <= 0) { var1 = super.block_size; } if(var1 > 0) { this.a.setBlockSize(var1); } SEQUENCE var2 = new SEQUENCE(var1 > 0); var2.addComponent(new INTEGER(super.version)); var2.addComponent(this.a.toASN1Object()); return var2; } public void setupCipher(char[] var1) throws InvalidKeyException, InvalidParameterSpecException, InvalidAlgorithmParameterException, NoSuchAlgorithmException { AlgorithmID var2 = this.a.getContentEncryptionAlgorithm(); AlgorithmParameters var3 = var2.getAlgorithmParameters("PBE"); AlgorithmParameterSpec var4 = var3.getParameterSpec(b != null?b:(b = a("javax.crypto.spec.PBEParameterSpec"))); Key var5 = this.a(var1, this.a.getContentEncryptionAlgorithm()); this.a.setupCipher(var5, var4); } public void setupCipher(AlgorithmID var1, char[] var2, int var3) throws InvalidKeyException, NoSuchAlgorithmException { try { AlgorithmParameterSpec var4 = this.a(var1, var3); Key var5 = this.a(var2, var1); this.a.setupCipher(var1, var5, var4); } catch (InvalidAlgorithmParameterException var6) { throw new InternalErrorException(var6); } catch (InvalidParameterSpecException var7) { throw new InternalErrorException(var7); } } public InputStream getInputStream() { return this.a.getInputStream(); } public Object getEncryptedContentInfo() { return this.a; } public byte[] getEncoded() throws PKCSException { try { ByteArrayOutputStream var1 = new ByteArrayOutputStream(); DerCoder.encodeTo(this.toASN1Object(), var1); return var1.toByteArray(); } catch (IOException var2) { throw new PKCSException(var2.getMessage()); } } public byte[] getContent() { return this.a.getContent(); } public void decode(InputStream var1) throws PKCSParsingException, IOException { if(!(var1 instanceof DerInputStream)) { var1 = new DerInputStream((InputStream)var1); } DerInputStream var2 = ((DerInputStream)var1).readSequence(); super.version = var2.readInteger().intValue(); this.a = new EncryptedContentInfo(); this.a.decode(var2); } public void decode(ASN1Object var1) throws PKCSParsingException { try { this.decode((InputStream)(new ByteArrayInputStream(DerCoder.encode(var1)))); } catch (IOException var3) { throw new PKCSParsingException(var3.getMessage()); } } public EncryptedData(byte[] var1) { this.a = new EncryptedContentInfo(ObjectID.pkcs7_data, var1); } public EncryptedData(InputStream var1) throws PKCSParsingException, IOException { this.decode(var1); } public EncryptedData(EncryptedContentInfo var1) { this(); this.a = var1; } public EncryptedData(ASN1Object var1) throws PKCSParsingException { this.decode(var1); } protected EncryptedData() { } }