Information

0
Story Points

Technologies

Decompiled Java File
package iaik.pkcs.pkcs12;

import iaik.asn1.ASN;
import iaik.asn1.ASN1Object;
import iaik.asn1.ASN1Type;
import iaik.asn1.CON_SPEC;
import iaik.asn1.CodingException;
import iaik.asn1.DerCoder;
import iaik.asn1.ObjectID;
import iaik.asn1.SEQUENCE;
import iaik.asn1.structures.Attribute;
import iaik.pkcs.PKCSException;
import iaik.pkcs.pkcs12.Attributes;
import iaik.pkcs.pkcs12.b;
import iaik.utils.Util;

public abstract class SafeBag extends Attributes implements ASN1Type {
   // $FF: synthetic field
   static Class f;
   // $FF: synthetic field
   static Class g;
   // $FF: synthetic field
   static Class k;
   // $FF: synthetic field
   static Class j;
   // $FF: synthetic field
   static Class l;
   // $FF: synthetic field
   static Class e;
   // $FF: synthetic field
   static Class h;
   // $FF: synthetic field
   static Class i;
   private static b a = new b();
   ObjectID b;
   private static final boolean c = false;
   private static final boolean d = false;

   static Class a(String var0) {
      try {
         return Class.forName(var0);
      } catch (ClassNotFoundException var2) {
         throw new NoClassDefFoundError(var2.getMessage());
      }
   }

   public String toString() {
      StringBuffer var1 = new StringBuffer();
      var1.append("Bag type: " + this.b + "\n");
      if(super.b != null) {
         var1.append("Friendly name: " + super.b + "\n");
      }

      if(super.a != null) {
         var1.append("local key ID: " + Util.toString(super.a) + "\n");
      }

      return var1.toString();
   }

   public abstract ASN1Object toASN1Object() throws CodingException;

   public static void register(ObjectID var0, Class var1) {
      a.register(g != null?g:(g = a("iaik.pkcs.pkcs12.SafeBag")), var0, var1);
   }

   protected static SafeBag[] parseSafeContents(byte[] var0) throws CodingException {
      ASN1Object var1 = DerCoder.decode(var0);
      return parseSafeContents(var1);
   }

   protected static SafeBag[] parseSafeContents(ASN1Object var0) throws CodingException {
      SafeBag[] var1 = null;
      ASN1Object var2 = var0;
      var1 = new SafeBag[var0.countComponents()];

      for(int var3 = 0; var3 < var2.countComponents(); ++var3) {
         ASN1Object var4 = var2.getComponentAt(var3);
         ObjectID var5 = (ObjectID)var4.getComponentAt(0);
         SafeBag var6 = null;

         try {
            var6 = create(var5);
         } catch (PKCSException var9) {
            ;
         }

         ASN1Object var7 = var4.getComponentAt(1);
         if(var7.getAsnType().getTag() != 0) {
            throw new CodingException("No PKCS#12 SafeBag!");
         }

         var6.decode((ASN1Object)var7.getValue());
         if(var4.countComponents() > 2) {
            Attribute[] var8 = (Attribute[])ASN.parseSequenceOf(var4.getComponentAt(2), f != null?f:(f = a("iaik.asn1.structures.Attribute")));
            var6.setAttributes(var8);
         }

         var1[var3] = var6;
      }

      return var1;
   }

   public ObjectID getBagType() {
      return this.b;
   }

   protected static ASN1Object encodeSafeContentsAsASN1Object(SafeBag[] var0) throws CodingException {
      SEQUENCE var1 = new SEQUENCE();

      for(int var2 = 0; var2 < var0.length; ++var2) {
         SEQUENCE var3 = new SEQUENCE();
         var3.addComponent(var0[var2].getBagType());
         var3.addComponent(new CON_SPEC(0, var0[var2].toASN1Object()));
         Attribute[] var4 = var0[var2].getAttributes();
         if(var4 != null) {
            var3.addComponent(ASN.createSetOf(var4));
         }

         var1.addComponent(var3);
      }

      return var1;
   }

   protected static byte[] encodeSafeContents(SafeBag[] var0) throws CodingException {
      ASN1Object var1 = encodeSafeContentsAsASN1Object(var0);
      return DerCoder.encode(var1);
   }

   public abstract void decode(ASN1Object var1) throws CodingException;

   public static SafeBag create(ObjectID var0) throws PKCSException {
      try {
         return (SafeBag)a.create(g != null?g:(g = a("iaik.pkcs.pkcs12.SafeBag")), var0, false);
      } catch (InstantiationException var1) {
         throw new PKCSException("No PKCS#12 bag type registered for the given object ID!");
      }
   }

   protected SafeBag(String var1, byte[] var2) {
      super(var1, var2);
   }

   protected SafeBag() {
   }

   static {
      register(ObjectID.pkcs12_keyBag, i != null?i:(i = a("iaik.pkcs.pkcs12.KeyBag")));
      register(ObjectID.pkcs12_pkcs8ShroudedKeyBag, h != null?h:(h = a("iaik.pkcs.pkcs12.PKCS8ShroudedKeyBag")));
      register(ObjectID.pkcs12_certBag, e != null?e:(e = a("iaik.pkcs.pkcs12.CertificateBag")));
      register(ObjectID.pkcs12_crlBag, l != null?l:(l = a("iaik.pkcs.pkcs12.CRLBag")));
      register(ObjectID.pkcs12_secretBag, j != null?j:(j = a("iaik.pkcs.pkcs12.SecretBag")));
      register(ObjectID.pkcs12_safeContentsBag, k != null?k:(k = a("iaik.pkcs.pkcs12.SafeContentsBag")));
   }
}
Page generated: Oct 19, 2017 2:34:25 PM