class sun.security.krb5.KrbPriv extends sun.security.krb5.KrbAppMessage
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.krb5.KrbPriv
  super_class: sun.security.krb5.KrbAppMessage
{
  private byte[] obuf;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

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

  private void <init>(byte[], sun.security.krb5.Credentials, sun.security.krb5.EncryptionKey, sun.security.krb5.internal.KerberosTime, sun.security.krb5.internal.SeqNumber, sun.security.krb5.internal.HostAddress, sun.security.krb5.internal.HostAddress);
    descriptor: ([BLsun/security/krb5/Credentials;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/HostAddress;Lsun/security/krb5/internal/HostAddress;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=8
        start local 0 // sun.security.krb5.KrbPriv this
        start local 1 // byte[] userData
        start local 2 // sun.security.krb5.Credentials creds
        start local 3 // sun.security.krb5.EncryptionKey subKey
        start local 4 // sun.security.krb5.internal.KerberosTime timestamp
        start local 5 // sun.security.krb5.internal.SeqNumber seqNumber
        start local 6 // sun.security.krb5.internal.HostAddress saddr
        start local 7 // sun.security.krb5.internal.HostAddress raddr
         0: .line 45
            aload 0 /* this */
            invokespecial sun.security.krb5.KrbAppMessage.<init>:()V
         1: .line 53
            aconst_null
            astore 8 /* reqKey */
        start local 8 // sun.security.krb5.EncryptionKey reqKey
         2: .line 54
            aload 3 /* subKey */
            ifnull 4
         3: .line 55
            aload 3 /* subKey */
            astore 8 /* reqKey */
            goto 5
         4: .line 57
      StackMap locals: sun.security.krb5.KrbPriv byte[] sun.security.krb5.Credentials sun.security.krb5.EncryptionKey sun.security.krb5.internal.KerberosTime sun.security.krb5.internal.SeqNumber sun.security.krb5.internal.HostAddress sun.security.krb5.internal.HostAddress sun.security.krb5.EncryptionKey
      StackMap stack:
            aload 2 /* creds */
            getfield sun.security.krb5.Credentials.key:Lsun/security/krb5/EncryptionKey;
            astore 8 /* reqKey */
         5: .line 59
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
         6: .line 60
            aload 1 /* userData */
         7: .line 61
            aload 8 /* reqKey */
         8: .line 62
            aload 4 /* timestamp */
         9: .line 63
            aload 5 /* seqNumber */
        10: .line 64
            aload 6 /* saddr */
        11: .line 65
            aload 7 /* raddr */
        12: .line 59
            invokevirtual sun.security.krb5.KrbPriv.mk_priv:([BLsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/HostAddress;Lsun/security/krb5/internal/HostAddress;)[B
            putfield sun.security.krb5.KrbPriv.obuf:[B
        13: .line 67
            return
        end local 8 // sun.security.krb5.EncryptionKey reqKey
        end local 7 // sun.security.krb5.internal.HostAddress raddr
        end local 6 // sun.security.krb5.internal.HostAddress saddr
        end local 5 // sun.security.krb5.internal.SeqNumber seqNumber
        end local 4 // sun.security.krb5.internal.KerberosTime timestamp
        end local 3 // sun.security.krb5.EncryptionKey subKey
        end local 2 // sun.security.krb5.Credentials creds
        end local 1 // byte[] userData
        end local 0 // sun.security.krb5.KrbPriv this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lsun/security/krb5/KrbPriv;
            0   14     1   userData  [B
            0   14     2      creds  Lsun/security/krb5/Credentials;
            0   14     3     subKey  Lsun/security/krb5/EncryptionKey;
            0   14     4  timestamp  Lsun/security/krb5/internal/KerberosTime;
            0   14     5  seqNumber  Lsun/security/krb5/internal/SeqNumber;
            0   14     6      saddr  Lsun/security/krb5/internal/HostAddress;
            0   14     7      raddr  Lsun/security/krb5/internal/HostAddress;
            2   14     8     reqKey  Lsun/security/krb5/EncryptionKey;
    Exceptions:
      throws sun.security.krb5.KrbException, java.io.IOException
    MethodParameters:
           Name  Flags
      userData   
      creds      
      subKey     
      timestamp  
      seqNumber  
      saddr      
      raddr      

  private void <init>(byte[], sun.security.krb5.Credentials, sun.security.krb5.EncryptionKey, sun.security.krb5.internal.SeqNumber, sun.security.krb5.internal.HostAddress, sun.security.krb5.internal.HostAddress, boolean, boolean);
    descriptor: ([BLsun/security/krb5/Credentials;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/HostAddress;Lsun/security/krb5/internal/HostAddress;ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=11, args_size=9
        start local 0 // sun.security.krb5.KrbPriv this
        start local 1 // byte[] msg
        start local 2 // sun.security.krb5.Credentials creds
        start local 3 // sun.security.krb5.EncryptionKey subKey
        start local 4 // sun.security.krb5.internal.SeqNumber seqNumber
        start local 5 // sun.security.krb5.internal.HostAddress saddr
        start local 6 // sun.security.krb5.internal.HostAddress raddr
        start local 7 // boolean timestampRequired
        start local 8 // boolean seqNumberRequired
         0: .line 69
            aload 0 /* this */
            invokespecial sun.security.krb5.KrbAppMessage.<init>:()V
         1: .line 79
            new sun.security.krb5.internal.KRBPriv
            dup
            aload 1 /* msg */
            invokespecial sun.security.krb5.internal.KRBPriv.<init>:([B)V
            astore 9 /* krb_priv */
        start local 9 // sun.security.krb5.internal.KRBPriv krb_priv
         2: .line 80
            aconst_null
            astore 10 /* reqKey */
        start local 10 // sun.security.krb5.EncryptionKey reqKey
         3: .line 81
            aload 3 /* subKey */
            ifnull 5
         4: .line 82
            aload 3 /* subKey */
            astore 10 /* reqKey */
            goto 6
         5: .line 84
      StackMap locals: sun.security.krb5.KrbPriv byte[] sun.security.krb5.Credentials sun.security.krb5.EncryptionKey sun.security.krb5.internal.SeqNumber sun.security.krb5.internal.HostAddress sun.security.krb5.internal.HostAddress int int sun.security.krb5.internal.KRBPriv sun.security.krb5.EncryptionKey
      StackMap stack:
            aload 2 /* creds */
            getfield sun.security.krb5.Credentials.key:Lsun/security/krb5/EncryptionKey;
            astore 10 /* reqKey */
         6: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 9 /* krb_priv */
         7: .line 86
            aload 10 /* reqKey */
         8: .line 87
            aload 4 /* seqNumber */
         9: .line 88
            aload 5 /* saddr */
        10: .line 89
            aload 6 /* raddr */
        11: .line 90
            iload 7 /* timestampRequired */
        12: .line 91
            iload 8 /* seqNumberRequired */
        13: .line 92
            aload 2 /* creds */
            getfield sun.security.krb5.Credentials.client:Lsun/security/krb5/PrincipalName;
        14: .line 85
            invokevirtual sun.security.krb5.KrbPriv.rd_priv:(Lsun/security/krb5/internal/KRBPriv;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/HostAddress;Lsun/security/krb5/internal/HostAddress;ZZLsun/security/krb5/PrincipalName;)[B
            putfield sun.security.krb5.KrbPriv.userData:[B
        15: .line 94
            return
        end local 10 // sun.security.krb5.EncryptionKey reqKey
        end local 9 // sun.security.krb5.internal.KRBPriv krb_priv
        end local 8 // boolean seqNumberRequired
        end local 7 // boolean timestampRequired
        end local 6 // sun.security.krb5.internal.HostAddress raddr
        end local 5 // sun.security.krb5.internal.HostAddress saddr
        end local 4 // sun.security.krb5.internal.SeqNumber seqNumber
        end local 3 // sun.security.krb5.EncryptionKey subKey
        end local 2 // sun.security.krb5.Credentials creds
        end local 1 // byte[] msg
        end local 0 // sun.security.krb5.KrbPriv this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0               this  Lsun/security/krb5/KrbPriv;
            0   16     1                msg  [B
            0   16     2              creds  Lsun/security/krb5/Credentials;
            0   16     3             subKey  Lsun/security/krb5/EncryptionKey;
            0   16     4          seqNumber  Lsun/security/krb5/internal/SeqNumber;
            0   16     5              saddr  Lsun/security/krb5/internal/HostAddress;
            0   16     6              raddr  Lsun/security/krb5/internal/HostAddress;
            0   16     7  timestampRequired  Z
            0   16     8  seqNumberRequired  Z
            2   16     9           krb_priv  Lsun/security/krb5/internal/KRBPriv;
            3   16    10             reqKey  Lsun/security/krb5/EncryptionKey;
    Exceptions:
      throws sun.security.krb5.KrbException, java.io.IOException
    MethodParameters:
                   Name  Flags
      msg                
      creds              
      subKey             
      seqNumber          
      saddr              
      raddr              
      timestampRequired  
      seqNumberRequired  

  public byte[] getMessage();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.KrbPriv this
         0: .line 97
            aload 0 /* this */
            getfield sun.security.krb5.KrbPriv.obuf:[B
            areturn
        end local 0 // sun.security.krb5.KrbPriv this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/KrbPriv;
    Exceptions:
      throws sun.security.krb5.KrbException

  public byte[] getData();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.KrbPriv this
         0: .line 101
            aload 0 /* this */
            getfield sun.security.krb5.KrbPriv.userData:[B
            areturn
        end local 0 // sun.security.krb5.KrbPriv this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/KrbPriv;

  private byte[] mk_priv(byte[], sun.security.krb5.EncryptionKey, sun.security.krb5.internal.KerberosTime, sun.security.krb5.internal.SeqNumber, sun.security.krb5.internal.HostAddress, sun.security.krb5.internal.HostAddress);
    descriptor: ([BLsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/KerberosTime;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/HostAddress;Lsun/security/krb5/internal/HostAddress;)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=13, args_size=7
        start local 0 // sun.security.krb5.KrbPriv this
        start local 1 // byte[] userData
        start local 2 // sun.security.krb5.EncryptionKey key
        start local 3 // sun.security.krb5.internal.KerberosTime timestamp
        start local 4 // sun.security.krb5.internal.SeqNumber seqNumber
        start local 5 // sun.security.krb5.internal.HostAddress sAddress
        start local 6 // sun.security.krb5.internal.HostAddress rAddress
         0: .line 113
            aconst_null
            astore 7 /* usec */
        start local 7 // java.lang.Integer usec
         1: .line 114
            aconst_null
            astore 8 /* seqno */
        start local 8 // java.lang.Integer seqno
         2: .line 116
            aload 3 /* timestamp */
            ifnull 4
         3: .line 117
            new java.lang.Integer
            dup
            aload 3 /* timestamp */
            invokevirtual sun.security.krb5.internal.KerberosTime.getMicroSeconds:()I
            invokespecial java.lang.Integer.<init>:(I)V
            astore 7 /* usec */
         4: .line 119
      StackMap locals: java.lang.Integer java.lang.Integer
      StackMap stack:
            aload 4 /* seqNumber */
            ifnull 7
         5: .line 120
            new java.lang.Integer
            dup
            aload 4 /* seqNumber */
            invokeinterface sun.security.krb5.internal.SeqNumber.current:()I
            invokespecial java.lang.Integer.<init>:(I)V
            astore 8 /* seqno */
         6: .line 121
            aload 4 /* seqNumber */
            invokeinterface sun.security.krb5.internal.SeqNumber.step:()I
            pop
         7: .line 125
      StackMap locals:
      StackMap stack:
            new sun.security.krb5.internal.EncKrbPrivPart
            dup
            aload 1 /* userData */
         8: .line 126
            aload 3 /* timestamp */
         9: .line 127
            aload 7 /* usec */
        10: .line 128
            aload 8 /* seqno */
        11: .line 129
            aload 5 /* sAddress */
        12: .line 130
            aload 6 /* rAddress */
        13: .line 125
            invokespecial sun.security.krb5.internal.EncKrbPrivPart.<init>:([BLsun/security/krb5/internal/KerberosTime;Ljava/lang/Integer;Ljava/lang/Integer;Lsun/security/krb5/internal/HostAddress;Lsun/security/krb5/internal/HostAddress;)V
        14: .line 124
            astore 9 /* unenc_encKrbPrivPart */
        start local 9 // sun.security.krb5.internal.EncKrbPrivPart unenc_encKrbPrivPart
        15: .line 133
            aload 9 /* unenc_encKrbPrivPart */
            invokevirtual sun.security.krb5.internal.EncKrbPrivPart.asn1Encode:()[B
            astore 10 /* temp */
        start local 10 // byte[] temp
        16: .line 136
            new sun.security.krb5.EncryptedData
            dup
            aload 2 /* key */
            aload 10 /* temp */
        17: .line 137
            bipush 13
        18: .line 136
            invokespecial sun.security.krb5.EncryptedData.<init>:(Lsun/security/krb5/EncryptionKey;[BI)V
        19: .line 135
            astore 11 /* encKrbPrivPart */
        start local 11 // sun.security.krb5.EncryptedData encKrbPrivPart
        20: .line 139
            new sun.security.krb5.internal.KRBPriv
            dup
            aload 11 /* encKrbPrivPart */
            invokespecial sun.security.krb5.internal.KRBPriv.<init>:(Lsun/security/krb5/EncryptedData;)V
            astore 12 /* krb_priv */
        start local 12 // sun.security.krb5.internal.KRBPriv krb_priv
        21: .line 141
            aload 12 /* krb_priv */
            invokevirtual sun.security.krb5.internal.KRBPriv.asn1Encode:()[B
            astore 10 /* temp */
        22: .line 143
            aload 12 /* krb_priv */
            invokevirtual sun.security.krb5.internal.KRBPriv.asn1Encode:()[B
            areturn
        end local 12 // sun.security.krb5.internal.KRBPriv krb_priv
        end local 11 // sun.security.krb5.EncryptedData encKrbPrivPart
        end local 10 // byte[] temp
        end local 9 // sun.security.krb5.internal.EncKrbPrivPart unenc_encKrbPrivPart
        end local 8 // java.lang.Integer seqno
        end local 7 // java.lang.Integer usec
        end local 6 // sun.security.krb5.internal.HostAddress rAddress
        end local 5 // sun.security.krb5.internal.HostAddress sAddress
        end local 4 // sun.security.krb5.internal.SeqNumber seqNumber
        end local 3 // sun.security.krb5.internal.KerberosTime timestamp
        end local 2 // sun.security.krb5.EncryptionKey key
        end local 1 // byte[] userData
        end local 0 // sun.security.krb5.KrbPriv this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   23     0                  this  Lsun/security/krb5/KrbPriv;
            0   23     1              userData  [B
            0   23     2                   key  Lsun/security/krb5/EncryptionKey;
            0   23     3             timestamp  Lsun/security/krb5/internal/KerberosTime;
            0   23     4             seqNumber  Lsun/security/krb5/internal/SeqNumber;
            0   23     5              sAddress  Lsun/security/krb5/internal/HostAddress;
            0   23     6              rAddress  Lsun/security/krb5/internal/HostAddress;
            1   23     7                  usec  Ljava/lang/Integer;
            2   23     8                 seqno  Ljava/lang/Integer;
           15   23     9  unenc_encKrbPrivPart  Lsun/security/krb5/internal/EncKrbPrivPart;
           16   23    10                  temp  [B
           20   23    11        encKrbPrivPart  Lsun/security/krb5/EncryptedData;
           21   23    12              krb_priv  Lsun/security/krb5/internal/KRBPriv;
    Exceptions:
      throws sun.security.krb5.Asn1Exception, java.io.IOException, sun.security.krb5.internal.KdcErrException, sun.security.krb5.KrbCryptoException
    MethodParameters:
           Name  Flags
      userData   
      key        
      timestamp  
      seqNumber  
      sAddress   
      rAddress   

  private byte[] rd_priv(sun.security.krb5.internal.KRBPriv, sun.security.krb5.EncryptionKey, sun.security.krb5.internal.SeqNumber, sun.security.krb5.internal.HostAddress, sun.security.krb5.internal.HostAddress, boolean, boolean, sun.security.krb5.PrincipalName);
    descriptor: (Lsun/security/krb5/internal/KRBPriv;Lsun/security/krb5/EncryptionKey;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/HostAddress;Lsun/security/krb5/internal/HostAddress;ZZLsun/security/krb5/PrincipalName;)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=13, args_size=9
        start local 0 // sun.security.krb5.KrbPriv this
        start local 1 // sun.security.krb5.internal.KRBPriv krb_priv
        start local 2 // sun.security.krb5.EncryptionKey key
        start local 3 // sun.security.krb5.internal.SeqNumber seqNumber
        start local 4 // sun.security.krb5.internal.HostAddress sAddress
        start local 5 // sun.security.krb5.internal.HostAddress rAddress
        start local 6 // boolean timestampRequired
        start local 7 // boolean seqNumberRequired
        start local 8 // sun.security.krb5.PrincipalName cname
         0: .line 157
            aload 1 /* krb_priv */
            getfield sun.security.krb5.internal.KRBPriv.encPart:Lsun/security/krb5/EncryptedData;
            aload 2 /* key */
         1: .line 158
            bipush 13
         2: .line 157
            invokevirtual sun.security.krb5.EncryptedData.decrypt:(Lsun/security/krb5/EncryptionKey;I)[B
            astore 9 /* bytes */
        start local 9 // byte[] bytes
         3: .line 159
            aload 1 /* krb_priv */
            getfield sun.security.krb5.internal.KRBPriv.encPart:Lsun/security/krb5/EncryptedData;
            aload 9 /* bytes */
            invokevirtual sun.security.krb5.EncryptedData.reset:([B)[B
            astore 10 /* temp */
        start local 10 // byte[] temp
         4: .line 160
            new sun.security.util.DerValue
            dup
            aload 10 /* temp */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 11 /* ref */
        start local 11 // sun.security.util.DerValue ref
         5: .line 161
            new sun.security.krb5.internal.EncKrbPrivPart
            dup
            aload 11 /* ref */
            invokespecial sun.security.krb5.internal.EncKrbPrivPart.<init>:(Lsun/security/util/DerValue;)V
            astore 12 /* enc_part */
        start local 12 // sun.security.krb5.internal.EncKrbPrivPart enc_part
         6: .line 163
            aload 0 /* this */
            aload 12 /* enc_part */
            getfield sun.security.krb5.internal.EncKrbPrivPart.timestamp:Lsun/security/krb5/internal/KerberosTime;
         7: .line 164
            aload 12 /* enc_part */
            getfield sun.security.krb5.internal.EncKrbPrivPart.usec:Ljava/lang/Integer;
         8: .line 165
            aload 12 /* enc_part */
            getfield sun.security.krb5.internal.EncKrbPrivPart.seqNumber:Ljava/lang/Integer;
         9: .line 166
            aload 12 /* enc_part */
            getfield sun.security.krb5.internal.EncKrbPrivPart.sAddress:Lsun/security/krb5/internal/HostAddress;
        10: .line 167
            aload 12 /* enc_part */
            getfield sun.security.krb5.internal.EncKrbPrivPart.rAddress:Lsun/security/krb5/internal/HostAddress;
        11: .line 168
            aload 3 /* seqNumber */
        12: .line 169
            aload 4 /* sAddress */
        13: .line 170
            aload 5 /* rAddress */
        14: .line 171
            iload 6 /* timestampRequired */
        15: .line 172
            iload 7 /* seqNumberRequired */
        16: .line 173
            aload 8 /* cname */
        17: .line 163
            invokevirtual sun.security.krb5.KrbPriv.check:(Lsun/security/krb5/internal/KerberosTime;Ljava/lang/Integer;Ljava/lang/Integer;Lsun/security/krb5/internal/HostAddress;Lsun/security/krb5/internal/HostAddress;Lsun/security/krb5/internal/SeqNumber;Lsun/security/krb5/internal/HostAddress;Lsun/security/krb5/internal/HostAddress;ZZLsun/security/krb5/PrincipalName;)V
        18: .line 176
            aload 12 /* enc_part */
            getfield sun.security.krb5.internal.EncKrbPrivPart.userData:[B
            areturn
        end local 12 // sun.security.krb5.internal.EncKrbPrivPart enc_part
        end local 11 // sun.security.util.DerValue ref
        end local 10 // byte[] temp
        end local 9 // byte[] bytes
        end local 8 // sun.security.krb5.PrincipalName cname
        end local 7 // boolean seqNumberRequired
        end local 6 // boolean timestampRequired
        end local 5 // sun.security.krb5.internal.HostAddress rAddress
        end local 4 // sun.security.krb5.internal.HostAddress sAddress
        end local 3 // sun.security.krb5.internal.SeqNumber seqNumber
        end local 2 // sun.security.krb5.EncryptionKey key
        end local 1 // sun.security.krb5.internal.KRBPriv krb_priv
        end local 0 // sun.security.krb5.KrbPriv this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   19     0               this  Lsun/security/krb5/KrbPriv;
            0   19     1           krb_priv  Lsun/security/krb5/internal/KRBPriv;
            0   19     2                key  Lsun/security/krb5/EncryptionKey;
            0   19     3          seqNumber  Lsun/security/krb5/internal/SeqNumber;
            0   19     4           sAddress  Lsun/security/krb5/internal/HostAddress;
            0   19     5           rAddress  Lsun/security/krb5/internal/HostAddress;
            0   19     6  timestampRequired  Z
            0   19     7  seqNumberRequired  Z
            0   19     8              cname  Lsun/security/krb5/PrincipalName;
            3   19     9              bytes  [B
            4   19    10               temp  [B
            5   19    11                ref  Lsun/security/util/DerValue;
            6   19    12           enc_part  Lsun/security/krb5/internal/EncKrbPrivPart;
    Exceptions:
      throws sun.security.krb5.Asn1Exception, sun.security.krb5.internal.KdcErrException, sun.security.krb5.internal.KrbApErrException, java.io.IOException, sun.security.krb5.KrbCryptoException
    MethodParameters:
                   Name  Flags
      krb_priv           
      key                
      seqNumber          
      sAddress           
      rAddress           
      timestampRequired  
      seqNumberRequired  
      cname              
}
SourceFile: "KrbPriv.java"