class sun.security.jgss.krb5.WrapToken extends sun.security.jgss.krb5.MessageToken
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.jgss.krb5.WrapToken
super_class: sun.security.jgss.krb5.MessageToken
{
static final int CONFOUNDER_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
static final byte[][] pads;
descriptor: [[B
flags: (0x0018) ACC_STATIC, ACC_FINAL
private boolean readTokenFromInputStream;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.io.InputStream is;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private byte[] tokenBytes;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int tokenOffset;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int tokenLen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private byte[] dataBytes;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int dataOffset;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int dataLen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int dataSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
byte[] confounder;
descriptor: [B
flags: (0x0000)
byte[] padding;
descriptor: [B
flags: (0x0000)
private boolean privacy;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=0, args_size=0
0: bipush 9
anewarray byte[]
dup
iconst_1
1: iconst_1
newarray 8
dup
iconst_0
iconst_1
bastore
aastore
dup
iconst_2
2: iconst_2
newarray 8
dup
iconst_0
iconst_2
bastore
dup
iconst_1
iconst_2
bastore
aastore
dup
iconst_3
3: iconst_3
newarray 8
dup
iconst_0
iconst_3
bastore
dup
iconst_1
iconst_3
bastore
dup
iconst_2
iconst_3
bastore
aastore
dup
iconst_4
4: iconst_4
newarray 8
dup
iconst_0
iconst_4
bastore
dup
iconst_1
iconst_4
bastore
dup
iconst_2
iconst_4
bastore
dup
iconst_3
iconst_4
bastore
aastore
dup
iconst_5
5: iconst_5
newarray 8
dup
iconst_0
iconst_5
bastore
dup
iconst_1
iconst_5
bastore
dup
iconst_2
iconst_5
bastore
dup
iconst_3
iconst_5
bastore
dup
iconst_4
iconst_5
bastore
aastore
dup
bipush 6
6: bipush 6
newarray 8
dup
iconst_0
bipush 6
bastore
dup
iconst_1
bipush 6
bastore
dup
iconst_2
bipush 6
bastore
dup
iconst_3
bipush 6
bastore
dup
iconst_4
bipush 6
bastore
dup
iconst_5
bipush 6
bastore
aastore
dup
bipush 7
7: bipush 7
newarray 8
dup
iconst_0
bipush 7
bastore
dup
iconst_1
bipush 7
bastore
dup
iconst_2
bipush 7
bastore
dup
iconst_3
bipush 7
bastore
dup
iconst_4
bipush 7
bastore
dup
iconst_5
bipush 7
bastore
dup
bipush 6
bipush 7
bastore
aastore
dup
bipush 8
8: bipush 8
newarray 8
dup
iconst_0
bipush 8
bastore
dup
iconst_1
bipush 8
bastore
dup
iconst_2
bipush 8
bastore
dup
iconst_3
bipush 8
bastore
dup
iconst_4
bipush 8
bastore
dup
iconst_5
bipush 8
bastore
dup
bipush 6
bipush 8
bastore
dup
bipush 7
bipush 8
bastore
aastore
9: putstatic sun.security.jgss.krb5.WrapToken.pads:[[B
10: return
LocalVariableTable:
Start End Slot Name Signature
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 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
sipush 513
aload 1
1: aload 2
iload 3
iload 4
aload 5
invokespecial sun.security.jgss.krb5.MessageToken.<init>:(ILsun/security/jgss/krb5/Krb5Context;[BIILorg/ietf/jgss/MessageProp;)V
2: aload 0
iconst_1
putfield sun.security.jgss.krb5.WrapToken.readTokenFromInputStream:Z
3: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.is:Ljava/io/InputStream;
4: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.tokenBytes:[B
5: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.tokenOffset:I
6: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.tokenLen:I
7: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.dataBytes:[B
8: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.dataOffset:I
9: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.dataLen:I
10: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.dataSize:I
11: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.confounder:[B
12: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.padding:[B
13: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.privacy:Z
14: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.readTokenFromInputStream:Z
15: aload 0
aload 2
putfield sun.security.jgss.krb5.WrapToken.tokenBytes:[B
16: aload 0
iload 3
putfield sun.security.jgss.krb5.WrapToken.tokenOffset:I
17: aload 0
iload 4
putfield sun.security.jgss.krb5.WrapToken.tokenLen:I
18: aload 0
aload 5
invokevirtual org.ietf.jgss.MessageProp.getPrivacy:()Z
putfield sun.security.jgss.krb5.WrapToken.privacy:Z
19: aload 0
20: aload 0
invokevirtual sun.security.jgss.krb5.WrapToken.getGSSHeader:()Lsun/security/jgss/GSSHeader;
invokevirtual sun.security.jgss.GSSHeader.getMechTokenLength:()I
aload 0
invokevirtual sun.security.jgss.krb5.WrapToken.getKrb5TokenSize:()I
isub
21: putfield sun.security.jgss.krb5.WrapToken.dataSize:I
22: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/jgss/krb5/WrapToken;
0 23 1 context Lsun/security/jgss/krb5/Krb5Context;
0 23 2 tokenBytes [B
0 23 3 tokenOffset I
0 23 4 tokenLen I
0 23 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 start local 1 start local 2 start local 3 0: aload 0
sipush 513
aload 1
aload 2
aload 3
invokespecial sun.security.jgss.krb5.MessageToken.<init>:(ILsun/security/jgss/krb5/Krb5Context;Ljava/io/InputStream;Lorg/ietf/jgss/MessageProp;)V
1: aload 0
iconst_1
putfield sun.security.jgss.krb5.WrapToken.readTokenFromInputStream:Z
2: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.is:Ljava/io/InputStream;
3: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.tokenBytes:[B
4: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.tokenOffset:I
5: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.tokenLen:I
6: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.dataBytes:[B
7: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.dataOffset:I
8: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.dataLen:I
9: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.dataSize:I
10: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.confounder:[B
11: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.padding:[B
12: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.privacy:Z
13: aload 0
aload 2
putfield sun.security.jgss.krb5.WrapToken.is:Ljava/io/InputStream;
14: aload 0
aload 3
invokevirtual org.ietf.jgss.MessageProp.getPrivacy:()Z
putfield sun.security.jgss.krb5.WrapToken.privacy:Z
15: aload 0
16: aload 0
invokevirtual sun.security.jgss.krb5.WrapToken.getGSSHeader:()Lsun/security/jgss/GSSHeader;
invokevirtual sun.security.jgss.GSSHeader.getMechTokenLength:()I
aload 0
invokevirtual sun.security.jgss.krb5.WrapToken.getTokenSize:()I
isub
17: putfield sun.security.jgss.krb5.WrapToken.dataSize:I
18: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/jgss/krb5/WrapToken;
0 19 1 context Lsun/security/jgss/krb5/Krb5Context;
0 19 2 is Ljava/io/InputStream;
0 19 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=5, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
newarray 8
astore 1
start local 1 1: aload 0
aload 1
iconst_0
invokevirtual sun.security.jgss.krb5.WrapToken.getData:([BI)I
pop
2: aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
arraylength
isub
3: aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
arraylength
4: isub
newarray 8
astore 2
start local 2 5: aload 1
iconst_0
aload 2
iconst_0
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/jgss/krb5/WrapToken;
1 7 1 temp [B
5 7 2 retVal [B
Exceptions:
throws org.ietf.jgss.GSSException
public int getData(byte[], int);
descriptor: ([BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.jgss.krb5.WrapToken.readTokenFromInputStream:Z
ifeq 2
1: aload 0
aload 1
iload 2
invokevirtual sun.security.jgss.krb5.WrapToken.getDataFromStream:([BI)V
goto 3
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual sun.security.jgss.krb5.WrapToken.getDataFromBuffer:([BI)V
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
arraylength
isub
aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
arraylength
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/jgss/krb5/WrapToken;
0 4 1 dataBuf [B
0 4 2 dataBufOffset I
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
dataBuf
dataBufOffset
private void getDataFromBuffer(byte[], int);
descriptor: ([BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual sun.security.jgss.krb5.WrapToken.getGSSHeader:()Lsun/security/jgss/GSSHeader;
astore 3
start local 3 1: aload 0
getfield sun.security.jgss.krb5.WrapToken.tokenOffset:I
2: aload 3
invokevirtual sun.security.jgss.GSSHeader.getLength:()I
3: iadd
4: aload 0
invokevirtual sun.security.jgss.krb5.WrapToken.getTokenSize:()I
5: iadd
istore 4
start local 4 6: iload 4
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
iadd
aload 0
getfield sun.security.jgss.krb5.WrapToken.tokenOffset:I
aload 0
getfield sun.security.jgss.krb5.WrapToken.tokenLen:I
iadd
if_icmple 12
7: new org.ietf.jgss.GSSException
dup
bipush 10
iconst_m1
8: new java.lang.StringBuilder
dup
ldc "Insufficient data in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 0
invokevirtual sun.security.jgss.krb5.WrapToken.getTokenId:()I
invokestatic sun.security.jgss.krb5.WrapToken.getTokenName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
12: StackMap locals: sun.security.jgss.GSSHeader int
StackMap stack:
aload 0
bipush 8
newarray 8
putfield sun.security.jgss.krb5.WrapToken.confounder:[B
13: aload 0
getfield sun.security.jgss.krb5.WrapToken.privacy:Z
ifeq 18
14: aload 0
getfield sun.security.jgss.krb5.WrapToken.cipherHelper:Lsun/security/jgss/krb5/CipherHelper;
aload 0
15: aload 0
getfield sun.security.jgss.krb5.WrapToken.tokenBytes:[B
iload 4
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
aload 1
iload 2
16: invokevirtual sun.security.jgss.krb5.CipherHelper.decryptData:(Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
17: goto 31
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.WrapToken.tokenBytes:[B
iload 4
19: aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
iconst_0
bipush 8
20: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
21: aload 0
getfield sun.security.jgss.krb5.WrapToken.tokenBytes:[B
iload 4
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
iadd
iconst_1
isub
baload
istore 5
start local 5 22: iload 5
ifge 24
23: iconst_0
istore 5
24: StackMap locals: int
StackMap stack:
iload 5
bipush 8
if_icmple 26
25: iload 5
bipush 8
irem
istore 5
26: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.jgss.krb5.WrapToken.pads:[[B
iload 5
aaload
putfield sun.security.jgss.krb5.WrapToken.padding:[B
27: aload 0
getfield sun.security.jgss.krb5.WrapToken.tokenBytes:[B
iload 4
bipush 8
iadd
28: aload 1
iload 2
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
29: bipush 8
isub
iload 5
isub
30: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 5 31: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
32: aload 1
iload 2
33: aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
bipush 8
isub
34: aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
arraylength
35: isub
36: aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
37: invokevirtual sun.security.jgss.krb5.WrapToken.verifySignAndSeqNumber:([B[BII[B)Z
38: ifne 42
39: new org.ietf.jgss.GSSException
dup
bipush 6
iconst_m1
40: ldc "Corrupt checksum or sequence number in Wrap token"
41: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
42: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lsun/security/jgss/krb5/WrapToken;
0 43 1 dataBuf [B
0 43 2 dataBufOffset I
1 43 3 gssHeader Lsun/security/jgss/GSSHeader;
6 43 4 dataPos I
22 31 5 padSize I
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
dataBuf
dataBufOffset
private void getDataFromStream(byte[], int);
descriptor: ([BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual sun.security.jgss.krb5.WrapToken.getGSSHeader:()Lsun/security/jgss/GSSHeader;
pop
1: aload 0
bipush 8
newarray 8
putfield sun.security.jgss.krb5.WrapToken.confounder:[B
2: aload 0
getfield sun.security.jgss.krb5.WrapToken.privacy:Z
ifeq 7
3: aload 0
getfield sun.security.jgss.krb5.WrapToken.cipherHelper:Lsun/security/jgss/krb5/CipherHelper;
aload 0
aload 0
getfield sun.security.jgss.krb5.WrapToken.is:Ljava/io/InputStream;
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
4: aload 1
iload 2
5: invokevirtual sun.security.jgss.krb5.CipherHelper.decryptData:(Lsun/security/jgss/krb5/WrapToken;Ljava/io/InputStream;I[BI)V
6: goto 34
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.WrapToken.is:Ljava/io/InputStream;
aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
invokestatic sun.security.jgss.krb5.WrapToken.readFully:(Ljava/io/InputStream;[B)V
8: aload 0
getfield sun.security.jgss.krb5.WrapToken.cipherHelper:Lsun/security/jgss/krb5/CipherHelper;
invokevirtual sun.security.jgss.krb5.CipherHelper.isArcFour:()Z
ifeq 12
9: aload 0
getstatic sun.security.jgss.krb5.WrapToken.pads:[[B
iconst_1
aaload
putfield sun.security.jgss.krb5.WrapToken.padding:[B
10: aload 0
getfield sun.security.jgss.krb5.WrapToken.is:Ljava/io/InputStream;
aload 1
iload 2
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
bipush 8
isub
iconst_1
isub
invokestatic sun.security.jgss.krb5.WrapToken.readFully:(Ljava/io/InputStream;[BII)V
11: goto 34
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
bipush 8
isub
bipush 8
idiv
iconst_1
isub
istore 3
start local 3 13: iload 2
istore 4
start local 4 14: iconst_0
istore 5
start local 5 15: goto 19
16: StackMap locals: int int int
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.WrapToken.is:Ljava/io/InputStream;
aload 1
iload 4
bipush 8
invokestatic sun.security.jgss.krb5.WrapToken.readFully:(Ljava/io/InputStream;[BII)V
17: iinc 4 8
18: iinc 5 1
StackMap locals:
StackMap stack:
19: iload 5
iload 3
if_icmplt 16
end local 5 20: bipush 8
newarray 8
astore 5
start local 5 21: aload 0
getfield sun.security.jgss.krb5.WrapToken.is:Ljava/io/InputStream;
aload 5
invokestatic sun.security.jgss.krb5.WrapToken.readFully:(Ljava/io/InputStream;[B)V
22: aload 5
bipush 7
baload
istore 6
start local 6 23: aload 0
getstatic sun.security.jgss.krb5.WrapToken.pads:[[B
iload 6
aaload
putfield sun.security.jgss.krb5.WrapToken.padding:[B
24: aload 5
iconst_0
aload 1
iload 4
25: aload 5
arraylength
iload 6
isub
26: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 6 end local 5 end local 4 end local 3 27: goto 34
StackMap locals: sun.security.jgss.krb5.WrapToken byte[] int
StackMap stack: java.io.IOException
28: astore 3
start local 3 29: new org.ietf.jgss.GSSException
dup
bipush 10
iconst_m1
30: new java.lang.StringBuilder
dup
aload 0
invokevirtual sun.security.jgss.krb5.WrapToken.getTokenId:()I
invokestatic sun.security.jgss.krb5.WrapToken.getTokenName:(I)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
end local 3 34: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
35: aload 1
iload 2
36: aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
bipush 8
isub
37: aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
arraylength
38: isub
39: aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
40: invokevirtual sun.security.jgss.krb5.WrapToken.verifySignAndSeqNumber:([B[BII[B)Z
41: ifne 45
42: new org.ietf.jgss.GSSException
dup
bipush 6
iconst_m1
43: ldc "Corrupt checksum or sequence number in Wrap token"
44: invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
athrow
45: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lsun/security/jgss/krb5/WrapToken;
0 46 1 dataBuf [B
0 46 2 dataBufOffset I
13 27 3 numBlocks I
14 27 4 offset I
15 20 5 i I
21 27 5 finalBlock [B
23 27 6 padSize I
29 34 3 e Ljava/io/IOException;
Exception table:
from to target type
2 27 28 Class java.io.IOException
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
dataBuf
dataBufOffset
private byte[] getPadding(int);
descriptor: (I)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield sun.security.jgss.krb5.WrapToken.cipherHelper:Lsun/security/jgss/krb5/CipherHelper;
invokevirtual sun.security.jgss.krb5.CipherHelper.isArcFour:()Z
ifeq 4
2: iconst_1
istore 2
3: goto 6
4: StackMap locals: int
StackMap stack:
iload 1
bipush 8
irem
istore 2
5: bipush 8
iload 2
isub
istore 2
6: StackMap locals:
StackMap stack:
getstatic sun.security.jgss.krb5.WrapToken.pads:[[B
iload 2
aaload
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/jgss/krb5/WrapToken;
0 7 1 len I
1 7 2 padSize I
MethodParameters:
Name Flags
len
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=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
sipush 513
aload 1
invokespecial sun.security.jgss.krb5.MessageToken.<init>:(ILsun/security/jgss/krb5/Krb5Context;)V
1: aload 0
iconst_1
putfield sun.security.jgss.krb5.WrapToken.readTokenFromInputStream:Z
2: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.is:Ljava/io/InputStream;
3: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.tokenBytes:[B
4: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.tokenOffset:I
5: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.tokenLen:I
6: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.dataBytes:[B
7: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.dataOffset:I
8: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.dataLen:I
9: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.dataSize:I
10: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.confounder:[B
11: aload 0
aconst_null
putfield sun.security.jgss.krb5.WrapToken.padding:[B
12: aload 0
iconst_0
putfield sun.security.jgss.krb5.WrapToken.privacy:Z
13: aload 0
bipush 8
invokestatic sun.security.krb5.Confounder.bytes:(I)[B
putfield sun.security.jgss.krb5.WrapToken.confounder:[B
14: aload 0
aload 0
iload 5
invokevirtual sun.security.jgss.krb5.WrapToken.getPadding:(I)[B
putfield sun.security.jgss.krb5.WrapToken.padding:[B
15: aload 0
aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
arraylength
iload 5
iadd
aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
arraylength
iadd
putfield sun.security.jgss.krb5.WrapToken.dataSize:I
16: aload 0
aload 3
putfield sun.security.jgss.krb5.WrapToken.dataBytes:[B
17: aload 0
iload 4
putfield sun.security.jgss.krb5.WrapToken.dataOffset:I
18: aload 0
iload 5
putfield sun.security.jgss.krb5.WrapToken.dataLen:I
19: aload 0
aload 2
20: aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
21: aload 3
iload 4
iload 5
22: aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
23: invokevirtual sun.security.jgss.krb5.WrapToken.genSignAndSeqNumber:(Lorg/ietf/jgss/MessageProp;[B[BII[B)V
24: aload 1
invokevirtual sun.security.jgss.krb5.Krb5Context.getConfState:()Z
ifne 26
25: aload 2
iconst_0
invokevirtual org.ietf.jgss.MessageProp.setPrivacy:(Z)V
26: StackMap locals: sun.security.jgss.krb5.WrapToken sun.security.jgss.krb5.Krb5Context org.ietf.jgss.MessageProp byte[] int int
StackMap stack:
aload 0
aload 2
invokevirtual org.ietf.jgss.MessageProp.getPrivacy:()Z
putfield sun.security.jgss.krb5.WrapToken.privacy:Z
27: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/security/jgss/krb5/WrapToken;
0 28 1 context Lsun/security/jgss/krb5/Krb5Context;
0 28 2 prop Lorg/ietf/jgss/MessageProp;
0 28 3 dataBytes [B
0 28 4 dataOffset I
0 28 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=8, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.security.jgss.krb5.MessageToken.encode:(Ljava/io/OutputStream;)V
1: aload 0
getfield sun.security.jgss.krb5.WrapToken.privacy:Z
ifne 6
2: aload 1
aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
invokevirtual java.io.OutputStream.write:([B)V
3: aload 1
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataBytes:[B
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataOffset:I
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataLen:I
invokevirtual java.io.OutputStream.write:([BII)V
4: aload 1
aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
invokevirtual java.io.OutputStream.write:([B)V
5: goto 9
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.WrapToken.cipherHelper:Lsun/security/jgss/krb5/CipherHelper;
aload 0
aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
7: aload 0
getfield sun.security.jgss.krb5.WrapToken.dataBytes:[B
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataOffset:I
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataLen:I
aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
aload 1
8: invokevirtual sun.security.jgss.krb5.CipherHelper.encryptData:(Lsun/security/jgss/krb5/WrapToken;[B[BII[BLjava/io/OutputStream;)V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/jgss/krb5/WrapToken;
0 10 1 os Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException, org.ietf.jgss.GSSException
MethodParameters:
Name Flags
os
public byte[] encode();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.io.ByteArrayOutputStream
dup
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
bipush 50
iadd
invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
astore 1
start local 1 1: aload 0
aload 1
invokevirtual sun.security.jgss.krb5.WrapToken.encode:(Ljava/io/OutputStream;)V
2: aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/jgss/krb5/WrapToken;
1 3 1 bos Ljava/io/ByteArrayOutputStream;
Exceptions:
throws java.io.IOException, org.ietf.jgss.GSSException
public int encode(byte[], int);
descriptor: ([BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 3
start local 3 1: aload 0
aload 3
invokespecial sun.security.jgss.krb5.MessageToken.encode:(Ljava/io/OutputStream;)V
2: aload 3
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 4
start local 4 3: aload 4
iconst_0
aload 1
iload 2
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: iload 2
aload 4
arraylength
iadd
istore 2
5: aload 0
getfield sun.security.jgss.krb5.WrapToken.privacy:Z
ifne 16
6: aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
iconst_0
aload 1
iload 2
7: aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
arraylength
8: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: iload 2
aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
arraylength
iadd
istore 2
10: aload 0
getfield sun.security.jgss.krb5.WrapToken.dataBytes:[B
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataOffset:I
aload 1
iload 2
11: aload 0
getfield sun.security.jgss.krb5.WrapToken.dataLen:I
12: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: iload 2
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataLen:I
iadd
istore 2
14: aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
iconst_0
aload 1
iload 2
aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: goto 19
16: StackMap locals: java.io.ByteArrayOutputStream byte[]
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.WrapToken.cipherHelper:Lsun/security/jgss/krb5/CipherHelper;
aload 0
aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataBytes:[B
17: aload 0
getfield sun.security.jgss.krb5.WrapToken.dataOffset:I
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataLen:I
aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
aload 1
iload 2
18: invokevirtual sun.security.jgss.krb5.CipherHelper.encryptData:(Lsun/security/jgss/krb5/WrapToken;[B[BII[B[BI)V
19: StackMap locals:
StackMap stack:
aload 4
arraylength
aload 0
getfield sun.security.jgss.krb5.WrapToken.confounder:[B
arraylength
iadd
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataLen:I
iadd
aload 0
getfield sun.security.jgss.krb5.WrapToken.padding:[B
arraylength
iadd
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/security/jgss/krb5/WrapToken;
0 20 1 outToken [B
0 20 2 offset I
1 20 3 bos Ljava/io/ByteArrayOutputStream;
3 20 4 header [B
Exceptions:
throws java.io.IOException, org.ietf.jgss.GSSException
MethodParameters:
Name Flags
outToken
offset
protected int getKrb5TokenSize();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.jgss.krb5.WrapToken.getTokenSize:()I
aload 0
getfield sun.security.jgss.krb5.WrapToken.dataSize:I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jgss/krb5/WrapToken;
Exceptions:
throws org.ietf.jgss.GSSException
protected int getSealAlg(boolean, int);
descriptor: (ZI)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifne 2
1: ldc 65535
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.jgss.krb5.WrapToken.cipherHelper:Lsun/security/jgss/krb5/CipherHelper;
invokevirtual sun.security.jgss.krb5.CipherHelper.getSealAlg:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/jgss/krb5/WrapToken;
0 3 1 conf Z
0 3 2 qop I
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
conf
qop
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 start local 1 start local 2 start local 3 0: getstatic sun.security.jgss.krb5.WrapToken.OID:Lsun/security/util/ObjectIdentifier;
iload 2
invokestatic sun.security.jgss.GSSHeader.getMaxMechTokenSize:(Lsun/security/util/ObjectIdentifier;I)I
1: aload 3
invokestatic sun.security.jgss.krb5.WrapToken.getTokenSize:(Lsun/security/jgss/krb5/CipherHelper;)I
bipush 8
iadd
2: isub
3: bipush 8
4: isub
ireturn
end local 3 end local 2 end local 1 end local 0 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.java"