class org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1 implements org.bouncycastle.pkcs.PKCS12MacCalculatorBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1
  super_class: java.lang.Object
{
  final org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider this$0;
    descriptor: Lorg/bouncycastle/pkcs/jcajce/JcePKCS12MacCalculatorBuilderProvider;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final org.bouncycastle.asn1.x509.AlgorithmIdentifier val$algorithmIdentifier;
    descriptor: Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider, org.bouncycastle.asn1.x509.AlgorithmIdentifier);
    descriptor: (Lorg/bouncycastle/pkcs/jcajce/JcePKCS12MacCalculatorBuilderProvider;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1 this
         0: .line 51
            aload 0 /* this */
            aload 1
            putfield org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCS12MacCalculatorBuilderProvider;
            aload 0 /* this */
            aload 2
            putfield org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1.val$algorithmIdentifier:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/pkcs/jcajce/JcePKCS12MacCalculatorBuilderProvider$1;
    MethodParameters:
                         Name  Flags
      this$0                   final
      val$algorithmIdentifier  final

  public org.bouncycastle.operator.MacCalculator build(char[]);
    descriptor: ([C)Lorg/bouncycastle/operator/MacCalculator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1 this
        start local 1 // char[] password
         0: .line 56
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1.val$algorithmIdentifier:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;
            astore 2 /* pbeParams */
        start local 2 // org.bouncycastle.asn1.pkcs.PKCS12PBEParams pbeParams
         1: .line 60
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1.val$algorithmIdentifier:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            astore 3 /* algorithm */
        start local 3 // org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm
         2: .line 62
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCS12MacCalculatorBuilderProvider;
            getfield org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
            aload 3 /* algorithm */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createMac:(Ljava/lang/String;)Ljavax/crypto/Mac;
            astore 4 /* mac */
        start local 4 // javax.crypto.Mac mac
         3: .line 64
            new javax.crypto.spec.PBEParameterSpec
            dup
            aload 2 /* pbeParams */
            invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getIV:()[B
            aload 2 /* pbeParams */
            invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getIterations:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
            astore 5 /* defParams */
        start local 5 // javax.crypto.spec.PBEParameterSpec defParams
         4: .line 66
            new org.bouncycastle.jcajce.PKCS12Key
            dup
            aload 1 /* password */
            invokespecial org.bouncycastle.jcajce.PKCS12Key.<init>:([C)V
            astore 6 /* key */
        start local 6 // javax.crypto.SecretKey key
         5: .line 68
            aload 4 /* mac */
            aload 6 /* key */
            aload 5 /* defParams */
            invokevirtual javax.crypto.Mac.init:(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
         6: .line 70
            new org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1$1
            dup
            aload 0 /* this */
            aload 3 /* algorithm */
            aload 2 /* pbeParams */
            aload 4 /* mac */
            aload 6 /* key */
            invokespecial org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1$1.<init>:(Lorg/bouncycastle/pkcs/jcajce/JcePKCS12MacCalculatorBuilderProvider$1;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;Ljavax/crypto/Mac;Ljavax/crypto/SecretKey;)V
         7: areturn
        end local 6 // javax.crypto.SecretKey key
        end local 5 // javax.crypto.spec.PBEParameterSpec defParams
        end local 4 // javax.crypto.Mac mac
        end local 3 // org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm
         8: .line 93
      StackMap locals: org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1 char[] org.bouncycastle.asn1.pkcs.PKCS12PBEParams
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
         9: .line 95
            new org.bouncycastle.operator.OperatorCreationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unable to create MAC calculator: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        end local 2 // org.bouncycastle.asn1.pkcs.PKCS12PBEParams pbeParams
        end local 1 // char[] password
        end local 0 // org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/bouncycastle/pkcs/jcajce/JcePKCS12MacCalculatorBuilderProvider$1;
            0   10     1   password  [C
            1   10     2  pbeParams  Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;
            2    8     3  algorithm  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            3    8     4        mac  Ljavax/crypto/Mac;
            4    8     5  defParams  Ljavax/crypto/spec/PBEParameterSpec;
            5    8     6        key  Ljavax/crypto/SecretKey;
            9   10     3          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     7       8  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.operator.OperatorCreationException
    MethodParameters:
          Name  Flags
      password  final

  public org.bouncycastle.asn1.x509.AlgorithmIdentifier getDigestAlgorithmIdentifier();
    descriptor: ()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1 this
         0: .line 101
            new org.bouncycastle.asn1.x509.AlgorithmIdentifier
            dup
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1.val$algorithmIdentifier:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            getstatic org.bouncycastle.asn1.DERNull.INSTANCE:Lorg/bouncycastle/asn1/DERNull;
            invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
            areturn
        end local 0 // org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/pkcs/jcajce/JcePKCS12MacCalculatorBuilderProvider$1;
}
SourceFile: "JcePKCS12MacCalculatorBuilderProvider.java"
EnclosingMethod: org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider.get:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/pkcs/PKCS12MacCalculatorBuilder;
NestHost: org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider
InnerClasses:
  org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1
  org.bouncycastle.pkcs.jcajce.JcePKCS12MacCalculatorBuilderProvider$1$1