class sun.security.jgss.krb5.WrapToken_v2 extends sun.security.jgss.krb5.MessageToken_v2
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.jgss.krb5.WrapToken_v2
  super_class: sun.security.jgss.krb5.MessageToken_v2
{
  byte[] confounder;
    descriptor: [B
    flags: (0x0000) 

  private final boolean privacy;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(sun.security.jgss.krb5.Krb5Context, byte[], int, int, org.ietf.jgss.MessageProp);
    descriptor: (Lsun/security/jgss/krb5/Krb5Context;[BIILorg/ietf/jgss/MessageProp;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // sun.security.jgss.krb5.WrapToken_v2 this
        start local 1 // sun.security.jgss.krb5.Krb5Context context
        start local 2 // byte[] tokenBytes
        start local 3 // int tokenOffset
        start local 4 // int tokenLen
        start local 5 // org.ietf.jgss.MessageProp prop
         0: .line 71
            aload 0 /* this */
            sipush 1284
            aload 1 /* context */
         1: .line 72
            aload 2 /* tokenBytes */
            iload 3 /* tokenOffset */
            iload 4 /* tokenLen */
            aload 5 /* prop */
            invokespecial sun.security.jgss.krb5.MessageToken_v2.<init>:(ILsun/security/jgss/krb5/Krb5Context;[BIILorg/ietf/jgss/MessageProp;)V
         2: .line 51
            aload 0 /* this */
            aconst_null
            putfield sun.security.jgss.krb5.WrapToken_v2.confounder:[B
         3: .line 73
            aload 0 /* this */
            aload 5 /* prop */
            invokevirtual org.ietf.jgss.MessageProp.getPrivacy:()Z
            putfield sun.security.jgss.krb5.WrapToken_v2.privacy:Z
         4: .line 74
            return
        end local 5 // org.ietf.jgss.MessageProp prop
        end local 4 // int tokenLen
        end local 3 // int tokenOffset
        end local 2 // byte[] tokenBytes
        end local 1 // sun.security.jgss.krb5.Krb5Context context
        end local 0 // sun.security.jgss.krb5.WrapToken_v2 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lsun/security/jgss/krb5/WrapToken_v2;
            0    5     1      context  Lsun/security/jgss/krb5/Krb5Context;
            0    5     2   tokenBytes  [B
            0    5     3  tokenOffset  I
            0    5     4     tokenLen  I
            0    5     5         prop  Lorg/ietf/jgss/MessageProp;
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
             Name  Flags
      context      
      tokenBytes   
      tokenOffset  
      tokenLen     
      prop         

  public void <init>(sun.security.jgss.krb5.Krb5Context, java.io.InputStream, org.ietf.jgss.MessageProp);
    descriptor: (Lsun/security/jgss/krb5/Krb5Context;Ljava/io/InputStream;Lorg/ietf/jgss/MessageProp;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // sun.security.jgss.krb5.WrapToken_v2 this
        start local 1 // sun.security.jgss.krb5.Krb5Context context
        start local 2 // java.io.InputStream is
        start local 3 // org.ietf.jgss.MessageProp prop
         0: .line 91
            aload 0 /* this */
            sipush 1284
            aload 1 /* context */
            aload 2 /* is */
            aload 3 /* prop */
            invokespecial sun.security.jgss.krb5.MessageToken_v2.<init>:(ILsun/security/jgss/krb5/Krb5Context;Ljava/io/InputStream;Lorg/ietf/jgss/MessageProp;)V
         1: .line 51
            aload 0 /* this */
            aconst_null
            putfield sun.security.jgss.krb5.WrapToken_v2.confounder:[B
         2: .line 92
            aload 0 /* this */
            aload 3 /* prop */
            invokevirtual org.ietf.jgss.MessageProp.getPrivacy:()Z
            putfield sun.security.jgss.krb5.WrapToken_v2.privacy:Z
         3: .line 93
            return
        end local 3 // org.ietf.jgss.MessageProp prop
        end local 2 // java.io.InputStream is
        end local 1 // sun.security.jgss.krb5.Krb5Context context
        end local 0 // sun.security.jgss.krb5.WrapToken_v2 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lsun/security/jgss/krb5/WrapToken_v2;
            0    4     1  context  Lsun/security/jgss/krb5/Krb5Context;
            0    4     2       is  Ljava/io/InputStream;
            0    4     3     prop  Lorg/ietf/jgss/MessageProp;
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
         Name  Flags
      context  
      is       
      prop     

  public byte[] getData();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.security.jgss.krb5.WrapToken_v2 this
         0: .line 104
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.tokenDataLen:I
            newarray 8
            astore 1 /* temp */
        start local 1 // byte[] temp
         1: .line 105
            aload 0 /* this */
            aload 1 /* temp */
            iconst_0
            invokevirtual sun.security.jgss.krb5.WrapToken_v2.getData:([BI)I
            istore 2 /* len */
        start local 2 // int len
         2: .line 106
            aload 1 /* temp */
            iload 2 /* len */
            invokestatic java.util.Arrays.copyOf:([BI)[B
            areturn
        end local 2 // int len
        end local 1 // byte[] temp
        end local 0 // sun.security.jgss.krb5.WrapToken_v2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/jgss/krb5/WrapToken_v2;
            1    3     1  temp  [B
            2    3     2   len  I
    Exceptions:
      throws org.ietf.jgss.GSSException

  public int getData(byte[], int);
    descriptor: ([BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // sun.security.jgss.krb5.WrapToken_v2 this
        start local 1 // byte[] dataBuf
        start local 2 // int dataBufOffset
         0: .line 127
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.privacy:Z
            ifeq 9
         1: .line 130
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.cipherHelper:Lsun/security/jgss/krb5/CipherHelper;
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.tokenData:[B
            iconst_0
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.tokenDataLen:I
         2: .line 131
            aload 1 /* dataBuf */
            iload 2 /* dataBufOffset */
            aload 0 /* this */
            invokevirtual sun.security.jgss.krb5.WrapToken_v2.getKeyUsage:()I
         3: .line 130
            invokevirtual sun.security.jgss.krb5.CipherHelper.decryptData:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
         4: .line 133
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.tokenDataLen:I
            bipush 16
            isub
         5: .line 134
            bipush 16
         6: .line 133
            isub
         7: .line 134
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.cipherHelper:Lsun/security/jgss/krb5/CipherHelper;
            invokevirtual sun.security.jgss.krb5.CipherHelper.getChecksumLength:()I
         8: .line 133
            isub
            ireturn
         9: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.tokenDataLen:I
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.cipherHelper:Lsun/security/jgss/krb5/CipherHelper;
            invokevirtual sun.security.jgss.krb5.CipherHelper.getChecksumLength:()I
            isub
            istore 3 /* data_length */
        start local 3 // int data_length
        10: .line 142
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.tokenData:[B
            iconst_0
        11: .line 143
            aload 1 /* dataBuf */
            iload 2 /* dataBufOffset */
        12: .line 144
            iload 3 /* data_length */
        13: .line 142
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 150
            aload 0 /* this */
            aload 1 /* dataBuf */
            iload 2 /* dataBufOffset */
            iload 3 /* data_length */
            invokevirtual sun.security.jgss.krb5.WrapToken_v2.verifySign:([BII)Z
            ifne 18
        15: .line 151
            new org.ietf.jgss.GSSException
            dup
            bipush 6
            iconst_m1
        16: .line 152
            ldc "Corrupt checksum in Wrap token"
        17: .line 151
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        18: .line 154
      StackMap locals: int
      StackMap stack:
            iload 3 /* data_length */
            ireturn
        end local 3 // int data_length
        end local 2 // int dataBufOffset
        end local 1 // byte[] dataBuf
        end local 0 // sun.security.jgss.krb5.WrapToken_v2 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lsun/security/jgss/krb5/WrapToken_v2;
            0   19     1        dataBuf  [B
            0   19     2  dataBufOffset  I
           10   19     3    data_length  I
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
               Name  Flags
      dataBuf        
      dataBufOffset  

  public void <init>(sun.security.jgss.krb5.Krb5Context, org.ietf.jgss.MessageProp, byte[], int, int);
    descriptor: (Lsun/security/jgss/krb5/Krb5Context;Lorg/ietf/jgss/MessageProp;[BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // sun.security.jgss.krb5.WrapToken_v2 this
        start local 1 // sun.security.jgss.krb5.Krb5Context context
        start local 2 // org.ietf.jgss.MessageProp prop
        start local 3 // byte[] dataBytes
        start local 4 // int dataOffset
        start local 5 // int dataLen
         0: .line 165
            aload 0 /* this */
            sipush 1284
            aload 1 /* context */
            invokespecial sun.security.jgss.krb5.MessageToken_v2.<init>:(ILsun/security/jgss/krb5/Krb5Context;)V
         1: .line 51
            aload 0 /* this */
            aconst_null
            putfield sun.security.jgss.krb5.WrapToken_v2.confounder:[B
         2: .line 167
            aload 0 /* this */
            bipush 16
            invokestatic sun.security.krb5.Confounder.bytes:(I)[B
            putfield sun.security.jgss.krb5.WrapToken_v2.confounder:[B
         3: .line 173
            aload 0 /* this */
            aload 2 /* prop */
            aload 3 /* dataBytes */
            iload 4 /* dataOffset */
            iload 5 /* dataLen */
            invokevirtual sun.security.jgss.krb5.WrapToken_v2.genSignAndSeqNumber:(Lorg/ietf/jgss/MessageProp;[BII)V
         4: .line 181
            aload 1 /* context */
            invokevirtual sun.security.jgss.krb5.Krb5Context.getConfState:()Z
            ifne 6
         5: .line 182
            aload 2 /* prop */
            iconst_0
            invokevirtual org.ietf.jgss.MessageProp.setPrivacy:(Z)V
         6: .line 184
      StackMap locals: sun.security.jgss.krb5.WrapToken_v2 sun.security.jgss.krb5.Krb5Context org.ietf.jgss.MessageProp byte[] int int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* prop */
            invokevirtual org.ietf.jgss.MessageProp.getPrivacy:()Z
            putfield sun.security.jgss.krb5.WrapToken_v2.privacy:Z
         7: .line 186
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.privacy:Z
            ifne 12
         8: .line 191
            aload 0 /* this */
            iload 5 /* dataLen */
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.checksum:[B
            arraylength
            iadd
            newarray 8
            putfield sun.security.jgss.krb5.WrapToken_v2.tokenData:[B
         9: .line 192
            aload 3 /* dataBytes */
            iload 4 /* dataOffset */
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.tokenData:[B
            iconst_0
            iload 5 /* dataLen */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 193
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.checksum:[B
            iconst_0
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.tokenData:[B
            iload 5 /* dataLen */
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.checksum:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 194
            goto 15
        12: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.cipherHelper:Lsun/security/jgss/krb5/CipherHelper;
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.confounder:[B
            aload 0 /* this */
            invokevirtual sun.security.jgss.krb5.WrapToken_v2.getTokenHeader:()[B
        13: .line 201
            aload 3 /* dataBytes */
            iload 4 /* dataOffset */
            iload 5 /* dataLen */
            aload 0 /* this */
            invokevirtual sun.security.jgss.krb5.WrapToken_v2.getKeyUsage:()I
        14: .line 200
            invokevirtual sun.security.jgss.krb5.CipherHelper.encryptData:(Lsun/security/jgss/krb5/WrapToken_v2;[B[B[BIII)[B
            putfield sun.security.jgss.krb5.WrapToken_v2.tokenData:[B
        15: .line 203
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int dataLen
        end local 4 // int dataOffset
        end local 3 // byte[] dataBytes
        end local 2 // org.ietf.jgss.MessageProp prop
        end local 1 // sun.security.jgss.krb5.Krb5Context context
        end local 0 // sun.security.jgss.krb5.WrapToken_v2 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lsun/security/jgss/krb5/WrapToken_v2;
            0   16     1     context  Lsun/security/jgss/krb5/Krb5Context;
            0   16     2        prop  Lorg/ietf/jgss/MessageProp;
            0   16     3   dataBytes  [B
            0   16     4  dataOffset  I
            0   16     5     dataLen  I
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
            Name  Flags
      context     
      prop        
      dataBytes   
      dataOffset  
      dataLen     

  public void encode(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.jgss.krb5.WrapToken_v2 this
        start local 1 // java.io.OutputStream os
         0: .line 206
            aload 0 /* this */
            aload 1 /* os */
            invokevirtual sun.security.jgss.krb5.WrapToken_v2.encodeHeader:(Ljava/io/OutputStream;)V
         1: .line 207
            aload 1 /* os */
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.tokenData:[B
            invokevirtual java.io.OutputStream.write:([B)V
         2: .line 208
            return
        end local 1 // java.io.OutputStream os
        end local 0 // sun.security.jgss.krb5.WrapToken_v2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/jgss/krb5/WrapToken_v2;
            0    3     1    os  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      os    

  public byte[] encode();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.security.jgss.krb5.WrapToken_v2 this
         0: .line 211
            new java.io.ByteArrayOutputStream
            dup
         1: .line 212
            bipush 16
            aload 0 /* this */
            getfield sun.security.jgss.krb5.WrapToken_v2.tokenData:[B
            arraylength
            iadd
         2: .line 211
            invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
            astore 1 /* bos */
        start local 1 // java.io.ByteArrayOutputStream bos
         3: .line 213
            aload 0 /* this */
            aload 1 /* bos */
            invokevirtual sun.security.jgss.krb5.WrapToken_v2.encode:(Ljava/io/OutputStream;)V
         4: .line 214
            aload 1 /* bos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 1 // java.io.ByteArrayOutputStream bos
        end local 0 // sun.security.jgss.krb5.WrapToken_v2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/jgss/krb5/WrapToken_v2;
            3    5     1   bos  Ljava/io/ByteArrayOutputStream;
    Exceptions:
      throws java.io.IOException

  public int encode(byte[], int);
    descriptor: ([BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.security.jgss.krb5.WrapToken_v2 this
        start local 1 // byte[] outToken
        start local 2 // int offset
         0: .line 218
            aload 0 /* this */
            invokevirtual sun.security.jgss.krb5.WrapToken_v2.encode:()[B
            astore 3 /* token */
        start local 3 // byte[] token
         1: .line 219
            aload 3 /* token */
            iconst_0
            aload 1 /* outToken */
            iload 2 /* offset */
            aload 3 /* token */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 220
            aload 3 /* token */
            arraylength
            ireturn
        end local 3 // byte[] token
        end local 2 // int offset
        end local 1 // byte[] outToken
        end local 0 // sun.security.jgss.krb5.WrapToken_v2 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lsun/security/jgss/krb5/WrapToken_v2;
            0    3     1  outToken  [B
            0    3     2    offset  I
            1    3     3     token  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      outToken  
      offset    

  static int getSizeLimit(int, boolean, int, sun.security.jgss.krb5.CipherHelper);
    descriptor: (IZILsun/security/jgss/krb5/CipherHelper;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // int qop
        start local 1 // boolean confReq
        start local 2 // int maxTokenSize
        start local 3 // sun.security.jgss.krb5.CipherHelper ch
         0: .line 227
            getstatic sun.security.jgss.krb5.WrapToken_v2.OID:Lsun/security/util/ObjectIdentifier;
            iload 2 /* maxTokenSize */
            invokestatic sun.security.jgss.GSSHeader.getMaxMechTokenSize:(Lsun/security/util/ObjectIdentifier;I)I
         1: .line 228
            bipush 16
            aload 3 /* ch */
            invokevirtual sun.security.jgss.krb5.CipherHelper.getChecksumLength:()I
            iadd
            bipush 16
            iadd
         2: .line 227
            isub
         3: .line 229
            bipush 8
         4: .line 227
            isub
            ireturn
        end local 3 // sun.security.jgss.krb5.CipherHelper ch
        end local 2 // int maxTokenSize
        end local 1 // boolean confReq
        end local 0 // int qop
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0           qop  I
            0    5     1       confReq  Z
            0    5     2  maxTokenSize  I
            0    5     3            ch  Lsun/security/jgss/krb5/CipherHelper;
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
              Name  Flags
      qop           
      confReq       
      maxTokenSize  
      ch            
}
SourceFile: "WrapToken_v2.java"