public class sun.security.krb5.internal.ktab.KeyTabInputStream extends sun.security.krb5.internal.util.KrbDataInputStream implements sun.security.krb5.internal.ktab.KeyTabConstants
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.krb5.internal.ktab.KeyTabInputStream
super_class: sun.security.krb5.internal.util.KrbDataInputStream
{
boolean DEBUG;
descriptor: Z
flags: (0x0000)
int index;
descriptor: I
flags: (0x0000)
public void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.security.krb5.internal.util.KrbDataInputStream.<init>:(Ljava/io/InputStream;)V
1: aload 0
getstatic sun.security.krb5.internal.Krb5.DEBUG:Z
putfield sun.security.krb5.internal.ktab.KeyTabInputStream.DEBUG:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/internal/ktab/KeyTabInputStream;
0 3 1 is Ljava/io/InputStream;
MethodParameters:
Name Flags
is
int readEntryLength();
descriptor: ()I
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_4
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.read:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/internal/ktab/KeyTabInputStream;
Exceptions:
throws java.io.IOException
sun.security.krb5.internal.ktab.KeyTabEntry readEntry(int, int);
descriptor: (II)Lsun/security/krb5/internal/ktab/KeyTabEntry;
flags: (0x0000)
Code:
stack=8, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
putfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
1: aload 0
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
ifne 3
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
ifge 6
4: aload 0
aload 0
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
invokestatic java.lang.Math.abs:(I)I
i2l
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.skip:(J)J
pop2
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.read:(I)I
istore 3
start local 3 7: aload 0
dup
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
iconst_2
isub
putfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
8: iload 2
sipush 1281
if_icmpne 10
9: iinc 3 -1
10: StackMap locals: int
StackMap stack:
new sun.security.krb5.Realm
dup
aload 0
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.readName:()Ljava/lang/String;
invokespecial sun.security.krb5.Realm.<init>:(Ljava/lang/String;)V
astore 4
start local 4 11: iload 3
anewarray java.lang.String
astore 5
start local 5 12: iconst_0
istore 6
start local 6 13: goto 16
14: StackMap locals: sun.security.krb5.Realm java.lang.String[] int
StackMap stack:
aload 5
iload 6
aload 0
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.readName:()Ljava/lang/String;
aastore
15: iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 3
if_icmplt 14
end local 6 17: aload 0
iconst_4
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.read:(I)I
istore 6
start local 6 18: aload 0
dup
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
iconst_4
isub
putfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
19: new sun.security.krb5.PrincipalName
dup
iload 6
aload 5
aload 4
invokespecial sun.security.krb5.PrincipalName.<init>:(I[Ljava/lang/String;Lsun/security/krb5/Realm;)V
astore 7
start local 7 20: aload 0
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.readTimeStamp:()Lsun/security/krb5/internal/KerberosTime;
astore 8
start local 8 21: aload 0
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.read:()I
sipush 255
iand
istore 9
start local 9 22: aload 0
dup
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
iconst_1
isub
putfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
23: aload 0
iconst_2
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.read:(I)I
istore 10
start local 10 24: aload 0
dup
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
iconst_2
isub
putfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
25: aload 0
iconst_2
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.read:(I)I
istore 11
start local 11 26: aload 0
dup
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
iconst_2
isub
putfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
27: aload 0
iload 11
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.readKey:(I)[B
astore 12
start local 12 28: aload 0
dup
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
iload 11
isub
putfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
29: aload 0
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
iconst_4
if_icmplt 34
30: aload 0
iconst_4
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.read:(I)I
istore 13
start local 13 31: iload 13
ifeq 33
32: iload 13
istore 9
33: StackMap locals: sun.security.krb5.internal.ktab.KeyTabInputStream int int int sun.security.krb5.Realm java.lang.String[] int sun.security.krb5.PrincipalName sun.security.krb5.internal.KerberosTime int int int byte[] int
StackMap stack:
aload 0
dup
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
iconst_4
isub
putfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
end local 13 34: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
ifge 36
35: new sun.security.krb5.RealmException
dup
ldc "Keytab is corrupted"
invokespecial sun.security.krb5.RealmException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
i2l
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.skip:(J)J
pop2
37: new sun.security.krb5.internal.ktab.KeyTabEntry
dup
aload 7
aload 4
aload 8
iload 9
iload 10
aload 12
invokespecial sun.security.krb5.internal.ktab.KeyTabEntry.<init>:(Lsun/security/krb5/PrincipalName;Lsun/security/krb5/Realm;Lsun/security/krb5/internal/KerberosTime;II[B)V
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 38 0 this Lsun/security/krb5/internal/ktab/KeyTabInputStream;
0 38 1 entryLen I
0 38 2 ktVersion I
7 38 3 principalNum I
11 38 4 realm Lsun/security/krb5/Realm;
12 38 5 nameParts [Ljava/lang/String;
13 17 6 i I
18 38 6 nameType I
20 38 7 service Lsun/security/krb5/PrincipalName;
21 38 8 timeStamp Lsun/security/krb5/internal/KerberosTime;
22 38 9 keyVersion I
24 38 10 keyType I
26 38 11 keyLength I
28 38 12 keyblock [B
31 34 13 extKvno I
Exceptions:
throws java.io.IOException, sun.security.krb5.RealmException
MethodParameters:
Name Flags
entryLen
ktVersion
byte[] readKey(int);
descriptor: (I)[B
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iload 1
newarray 8
astore 2
start local 2 1: aload 0
aload 2
iconst_0
iload 1
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.read:([BII)I
pop
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/internal/ktab/KeyTabInputStream;
0 3 1 length I
1 3 2 bytes [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
length
sun.security.krb5.internal.KerberosTime readTimeStamp();
descriptor: ()Lsun/security/krb5/internal/KerberosTime;
flags: (0x0000)
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
iconst_4
isub
putfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
1: new sun.security.krb5.internal.KerberosTime
dup
aload 0
iconst_4
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.read:(I)I
i2l
ldc 1000
lmul
invokespecial sun.security.krb5.internal.KerberosTime.<init>:(J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/krb5/internal/ktab/KeyTabInputStream;
Exceptions:
throws java.io.IOException
java.lang.String readName();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
iconst_2
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.read:(I)I
istore 2
start local 2 1: aload 0
dup
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
iconst_2
isub
putfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
2: iload 2
newarray 8
astore 3
start local 3 3: aload 0
aload 3
iconst_0
iload 2
invokevirtual sun.security.krb5.internal.ktab.KeyTabInputStream.read:([BII)I
pop
4: aload 0
dup
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
iload 2
isub
putfield sun.security.krb5.internal.ktab.KeyTabInputStream.index:I
5: new java.lang.String
dup
aload 3
invokespecial java.lang.String.<init>:([B)V
astore 1
start local 1 6: aload 0
getfield sun.security.krb5.internal.ktab.KeyTabInputStream.DEBUG:Z
ifeq 8
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ">>> KeyTabInputStream, readName(): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: StackMap locals: java.lang.String int byte[]
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/krb5/internal/ktab/KeyTabInputStream;
6 9 1 name Ljava/lang/String;
1 9 2 length I
3 9 3 bytes [B
Exceptions:
throws java.io.IOException
}
SourceFile: "KeyTabInputStream.java"