Information

0
Story Points

Technologies

Decompiled Java File
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() {
   }
}
Page generated: Oct 19, 2017 2:34:48 PM