final class org.bouncycastle.openssl.PEMUtilities
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.bouncycastle.openssl.PEMUtilities
  super_class: java.lang.Object
{
  private static final java.util.Map KEYSIZES;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Set PKCS5_SCHEME_1;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Set PKCS5_SCHEME_2;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 15
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.bouncycastle.openssl.PEMUtilities.KEYSIZES:Ljava/util/Map;
         1: .line 16
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
         2: .line 17
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
         3: .line 21
            getstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithMD2AndDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 22
            getstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithMD2AndRC2_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 23
            getstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithMD5AndDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 24
            getstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithMD5AndRC2_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 25
            getstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHA1AndDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 26
            getstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHA1AndRC2_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 28
            getstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBES2:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 29
            getstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.des_EDE3_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 30
            getstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
            getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes128_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        12: .line 31
            getstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
            getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes192_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 32
            getstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
            getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes256_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        14: .line 34
            getstatic org.bouncycastle.openssl.PEMUtilities.KEYSIZES:Ljava/util/Map;
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.des_EDE3_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            sipush 192
            invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 35
            getstatic org.bouncycastle.openssl.PEMUtilities.KEYSIZES:Ljava/util/Map;
            getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes128_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            sipush 128
            invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 36
            getstatic org.bouncycastle.openssl.PEMUtilities.KEYSIZES:Ljava/util/Map;
            getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes192_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            sipush 192
            invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 37
            getstatic org.bouncycastle.openssl.PEMUtilities.KEYSIZES:Ljava/util/Map;
            getstatic org.bouncycastle.asn1.nist.NISTObjectIdentifiers.id_aes256_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            sipush 256
            invokestatic org.bouncycastle.util.Integers.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 38
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.openssl.PEMUtilities this
         0: .line 13
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.bouncycastle.openssl.PEMUtilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/openssl/PEMUtilities;

  static int getKeySize(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String algorithm
         0: .line 42
            getstatic org.bouncycastle.openssl.PEMUtilities.KEYSIZES:Ljava/util/Map;
            aload 0 /* algorithm */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 44
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "no key size for algorithm: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* algorithm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 47
      StackMap locals:
      StackMap stack:
            getstatic org.bouncycastle.openssl.PEMUtilities.KEYSIZES:Ljava/util/Map;
            aload 0 /* algorithm */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 0 // java.lang.String algorithm
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  algorithm  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      algorithm  

  static boolean isPKCS5Scheme1(org.bouncycastle.asn1.ASN1ObjectIdentifier);
    descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier algOid
         0: .line 52
            getstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_1:Ljava/util/Set;
            aload 0 /* algOid */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier algOid
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  algOid  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
    MethodParameters:
        Name  Flags
      algOid  

  public static boolean isPKCS5Scheme2(org.bouncycastle.asn1.ASN1ObjectIdentifier);
    descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier algOid
         0: .line 57
            getstatic org.bouncycastle.openssl.PEMUtilities.PKCS5_SCHEME_2:Ljava/util/Set;
            aload 0 /* algOid */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier algOid
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  algOid  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
    MethodParameters:
        Name  Flags
      algOid  

  public static boolean isPKCS12(org.bouncycastle.asn1.ASN1ObjectIdentifier);
    descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier algOid
         0: .line 62
            aload 0 /* algOid */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_12PbeIds:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier algOid
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  algOid  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
    MethodParameters:
        Name  Flags
      algOid  
}
SourceFile: "PEMUtilities.java"