class sun.security.pkcs12.MacData
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.pkcs12.MacData
  super_class: java.lang.Object
{
  private java.lang.String digestAlgorithmName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.security.AlgorithmParameters digestAlgorithmParams;
    descriptor: Ljava/security/AlgorithmParameters;
    flags: (0x0002) ACC_PRIVATE

  private byte[] digest;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private byte[] macSalt;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private int iterations;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private byte[] encoded;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  void <init>(sun.security.util.DerInputStream);
    descriptor: (Lsun/security/util/DerInputStream;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // sun.security.pkcs12.MacData this
        start local 1 // sun.security.util.DerInputStream derin
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs12.MacData.encoded:[B
         2: .line 61
            aload 1 /* derin */
            iconst_2
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            astore 2 /* macData */
        start local 2 // sun.security.util.DerValue[] macData
         3: .line 64
            new sun.security.util.DerInputStream
            dup
            aload 2 /* macData */
            iconst_0
            aaload
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 3 /* digestIn */
        start local 3 // sun.security.util.DerInputStream digestIn
         4: .line 65
            aload 3 /* digestIn */
            iconst_2
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            astore 4 /* digestInfo */
        start local 4 // sun.security.util.DerValue[] digestInfo
         5: .line 68
            aload 4 /* digestInfo */
            iconst_0
            aaload
            invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
            astore 5 /* digestAlgorithmId */
        start local 5 // sun.security.x509.AlgorithmId digestAlgorithmId
         6: .line 69
            aload 0 /* this */
            aload 5 /* digestAlgorithmId */
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            putfield sun.security.pkcs12.MacData.digestAlgorithmName:Ljava/lang/String;
         7: .line 70
            aload 0 /* this */
            aload 5 /* digestAlgorithmId */
            invokevirtual sun.security.x509.AlgorithmId.getParameters:()Ljava/security/AlgorithmParameters;
            putfield sun.security.pkcs12.MacData.digestAlgorithmParams:Ljava/security/AlgorithmParameters;
         8: .line 72
            aload 0 /* this */
            aload 4 /* digestInfo */
            iconst_1
            aaload
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            putfield sun.security.pkcs12.MacData.digest:[B
         9: .line 75
            aload 0 /* this */
            aload 2 /* macData */
            iconst_1
            aaload
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            putfield sun.security.pkcs12.MacData.macSalt:[B
        10: .line 78
            aload 2 /* macData */
            arraylength
            iconst_2
            if_icmple 13
        11: .line 79
            aload 0 /* this */
            aload 2 /* macData */
            iconst_2
            aaload
            invokevirtual sun.security.util.DerValue.getInteger:()I
            putfield sun.security.pkcs12.MacData.iterations:I
        12: .line 80
            goto 14
        13: .line 81
      StackMap locals: sun.security.pkcs12.MacData sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.x509.AlgorithmId
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs12.MacData.iterations:I
        14: .line 83
      StackMap locals:
      StackMap stack:
            return
        end local 5 // sun.security.x509.AlgorithmId digestAlgorithmId
        end local 4 // sun.security.util.DerValue[] digestInfo
        end local 3 // sun.security.util.DerInputStream digestIn
        end local 2 // sun.security.util.DerValue[] macData
        end local 1 // sun.security.util.DerInputStream derin
        end local 0 // sun.security.pkcs12.MacData this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lsun/security/pkcs12/MacData;
            0   15     1              derin  Lsun/security/util/DerInputStream;
            3   15     2            macData  [Lsun/security/util/DerValue;
            4   15     3           digestIn  Lsun/security/util/DerInputStream;
            5   15     4         digestInfo  [Lsun/security/util/DerValue;
            6   15     5  digestAlgorithmId  Lsun/security/x509/AlgorithmId;
    Exceptions:
      throws java.io.IOException, sun.security.pkcs.ParsingException
    MethodParameters:
       Name  Flags
      derin  

  void <init>(java.lang.String, byte[], byte[], int);
    descriptor: (Ljava/lang/String;[B[BI)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // sun.security.pkcs12.MacData this
        start local 1 // java.lang.String algName
        start local 2 // byte[] digest
        start local 3 // byte[] salt
        start local 4 // int iterations
         0: .line 85
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs12.MacData.encoded:[B
         2: .line 88
            aload 1 /* algName */
            ifnonnull 4
         3: .line 89
            new java.lang.NullPointerException
            dup
            ldc "the algName parameter must be non-null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 92
      StackMap locals: sun.security.pkcs12.MacData java.lang.String byte[] byte[] int
      StackMap stack:
            aload 1 /* algName */
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            astore 5 /* algid */
        start local 5 // sun.security.x509.AlgorithmId algid
         5: .line 93
            aload 0 /* this */
            aload 5 /* algid */
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            putfield sun.security.pkcs12.MacData.digestAlgorithmName:Ljava/lang/String;
         6: .line 94
            aload 0 /* this */
            aload 5 /* algid */
            invokevirtual sun.security.x509.AlgorithmId.getParameters:()Ljava/security/AlgorithmParameters;
            putfield sun.security.pkcs12.MacData.digestAlgorithmParams:Ljava/security/AlgorithmParameters;
         7: .line 96
            aload 2 /* digest */
            ifnonnull 9
         8: .line 97
            new java.lang.NullPointerException
            dup
            ldc "the digest parameter must be non-null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 99
      StackMap locals: sun.security.x509.AlgorithmId
      StackMap stack:
            aload 2 /* digest */
            arraylength
            ifne 11
        10: .line 100
            new java.lang.IllegalArgumentException
            dup
            ldc "the digest parameter must not be empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* digest */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield sun.security.pkcs12.MacData.digest:[B
        12: .line 106
            aload 0 /* this */
            aload 3 /* salt */
            putfield sun.security.pkcs12.MacData.macSalt:[B
        13: .line 107
            aload 0 /* this */
            iload 4 /* iterations */
            putfield sun.security.pkcs12.MacData.iterations:I
        14: .line 111
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs12.MacData.encoded:[B
        15: .line 113
            return
        end local 5 // sun.security.x509.AlgorithmId algid
        end local 4 // int iterations
        end local 3 // byte[] salt
        end local 2 // byte[] digest
        end local 1 // java.lang.String algName
        end local 0 // sun.security.pkcs12.MacData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lsun/security/pkcs12/MacData;
            0   16     1     algName  Ljava/lang/String;
            0   16     2      digest  [B
            0   16     3        salt  [B
            0   16     4  iterations  I
            5   16     5       algid  Lsun/security/x509/AlgorithmId;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
            Name  Flags
      algName     
      digest      
      salt        
      iterations  

  void <init>(java.security.AlgorithmParameters, byte[], byte[], int);
    descriptor: (Ljava/security/AlgorithmParameters;[B[BI)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // sun.security.pkcs12.MacData this
        start local 1 // java.security.AlgorithmParameters algParams
        start local 2 // byte[] digest
        start local 3 // byte[] salt
        start local 4 // int iterations
         0: .line 115
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs12.MacData.encoded:[B
         2: .line 118
            aload 1 /* algParams */
            ifnonnull 4
         3: .line 119
            new java.lang.NullPointerException
            dup
            ldc "the algParams parameter must be non-null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 122
      StackMap locals: sun.security.pkcs12.MacData java.security.AlgorithmParameters byte[] byte[] int
      StackMap stack:
            aload 1 /* algParams */
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/security/AlgorithmParameters;)Lsun/security/x509/AlgorithmId;
            astore 5 /* algid */
        start local 5 // sun.security.x509.AlgorithmId algid
         5: .line 123
            aload 0 /* this */
            aload 5 /* algid */
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            putfield sun.security.pkcs12.MacData.digestAlgorithmName:Ljava/lang/String;
         6: .line 124
            aload 0 /* this */
            aload 5 /* algid */
            invokevirtual sun.security.x509.AlgorithmId.getParameters:()Ljava/security/AlgorithmParameters;
            putfield sun.security.pkcs12.MacData.digestAlgorithmParams:Ljava/security/AlgorithmParameters;
         7: .line 126
            aload 2 /* digest */
            ifnonnull 9
         8: .line 127
            new java.lang.NullPointerException
            dup
            ldc "the digest parameter must be non-null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 129
      StackMap locals: sun.security.x509.AlgorithmId
      StackMap stack:
            aload 2 /* digest */
            arraylength
            ifne 11
        10: .line 130
            new java.lang.IllegalArgumentException
            dup
            ldc "the digest parameter must not be empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* digest */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield sun.security.pkcs12.MacData.digest:[B
        12: .line 136
            aload 0 /* this */
            aload 3 /* salt */
            putfield sun.security.pkcs12.MacData.macSalt:[B
        13: .line 137
            aload 0 /* this */
            iload 4 /* iterations */
            putfield sun.security.pkcs12.MacData.iterations:I
        14: .line 141
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs12.MacData.encoded:[B
        15: .line 143
            return
        end local 5 // sun.security.x509.AlgorithmId algid
        end local 4 // int iterations
        end local 3 // byte[] salt
        end local 2 // byte[] digest
        end local 1 // java.security.AlgorithmParameters algParams
        end local 0 // sun.security.pkcs12.MacData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lsun/security/pkcs12/MacData;
            0   16     1   algParams  Ljava/security/AlgorithmParameters;
            0   16     2      digest  [B
            0   16     3        salt  [B
            0   16     4  iterations  I
            5   16     5       algid  Lsun/security/x509/AlgorithmId;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
            Name  Flags
      algParams   
      digest      
      salt        
      iterations  

  java.lang.String getDigestAlgName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs12.MacData this
         0: .line 146
            aload 0 /* this */
            getfield sun.security.pkcs12.MacData.digestAlgorithmName:Ljava/lang/String;
            areturn
        end local 0 // sun.security.pkcs12.MacData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs12/MacData;

  byte[] getSalt();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs12.MacData this
         0: .line 150
            aload 0 /* this */
            getfield sun.security.pkcs12.MacData.macSalt:[B
            areturn
        end local 0 // sun.security.pkcs12.MacData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs12/MacData;

  int getIterations();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs12.MacData this
         0: .line 154
            aload 0 /* this */
            getfield sun.security.pkcs12.MacData.iterations:I
            ireturn
        end local 0 // sun.security.pkcs12.MacData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs12/MacData;

  byte[] getDigest();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs12.MacData this
         0: .line 158
            aload 0 /* this */
            getfield sun.security.pkcs12.MacData.digest:[B
            areturn
        end local 0 // sun.security.pkcs12.MacData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs12/MacData;

  public byte[] getEncoded();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // sun.security.pkcs12.MacData this
         0: .line 169
            aload 0 /* this */
            getfield sun.security.pkcs12.MacData.encoded:[B
            ifnull 2
         1: .line 170
            aload 0 /* this */
            getfield sun.security.pkcs12.MacData.encoded:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            areturn
         2: .line 172
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 1 /* out */
        start local 1 // sun.security.util.DerOutputStream out
         3: .line 173
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* tmp */
        start local 2 // sun.security.util.DerOutputStream tmp
         4: .line 175
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 3 /* tmp2 */
        start local 3 // sun.security.util.DerOutputStream tmp2
         5: .line 177
            aload 0 /* this */
            getfield sun.security.pkcs12.MacData.digestAlgorithmName:Ljava/lang/String;
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            astore 4 /* algid */
        start local 4 // sun.security.x509.AlgorithmId algid
         6: .line 178
            aload 4 /* algid */
            aload 3 /* tmp2 */
            invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
         7: .line 181
            aload 3 /* tmp2 */
            aload 0 /* this */
            getfield sun.security.pkcs12.MacData.digest:[B
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
         8: .line 183
            aload 2 /* tmp */
            bipush 48
            aload 3 /* tmp2 */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
         9: .line 186
            aload 2 /* tmp */
            aload 0 /* this */
            getfield sun.security.pkcs12.MacData.macSalt:[B
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
        10: .line 189
            aload 2 /* tmp */
            aload 0 /* this */
            getfield sun.security.pkcs12.MacData.iterations:I
            invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
        11: .line 192
            aload 1 /* out */
            bipush 48
            aload 2 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        12: .line 193
            aload 0 /* this */
            aload 1 /* out */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            putfield sun.security.pkcs12.MacData.encoded:[B
        13: .line 195
            aload 0 /* this */
            getfield sun.security.pkcs12.MacData.encoded:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            areturn
        end local 4 // sun.security.x509.AlgorithmId algid
        end local 3 // sun.security.util.DerOutputStream tmp2
        end local 2 // sun.security.util.DerOutputStream tmp
        end local 1 // sun.security.util.DerOutputStream out
        end local 0 // sun.security.pkcs12.MacData this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lsun/security/pkcs12/MacData;
            3   14     1    out  Lsun/security/util/DerOutputStream;
            4   14     2    tmp  Lsun/security/util/DerOutputStream;
            5   14     3   tmp2  Lsun/security/util/DerOutputStream;
            6   14     4  algid  Lsun/security/x509/AlgorithmId;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.io.IOException
}
SourceFile: "MacData.java"