public class sun.security.krb5.internal.PAForUserEnc
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.krb5.internal.PAForUserEnc
super_class: java.lang.Object
{
public final sun.security.krb5.PrincipalName name;
descriptor: Lsun/security/krb5/PrincipalName;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private final sun.security.krb5.EncryptionKey key;
descriptor: Lsun/security/krb5/EncryptionKey;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static final java.lang.String AUTH_PACKAGE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "Kerberos"
public void <init>(sun.security.krb5.PrincipalName, sun.security.krb5.EncryptionKey);
descriptor: (Lsun/security/krb5/PrincipalName;Lsun/security/krb5/EncryptionKey;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.security.krb5.internal.PAForUserEnc.name:Lsun/security/krb5/PrincipalName;
2: aload 0
aload 2
putfield sun.security.krb5.internal.PAForUserEnc.key:Lsun/security/krb5/EncryptionKey;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/krb5/internal/PAForUserEnc;
0 4 1 name Lsun/security/krb5/PrincipalName;
0 4 2 key Lsun/security/krb5/EncryptionKey;
MethodParameters:
Name Flags
name
key
public void <init>(sun.security.util.DerValue, sun.security.krb5.EncryptionKey);
descriptor: (Lsun/security/util/DerValue;Lsun/security/krb5/EncryptionKey;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aconst_null
astore 3
start local 3 2: aload 0
aload 2
putfield sun.security.krb5.internal.PAForUserEnc.key:Lsun/security/krb5/EncryptionKey;
3: aload 1
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 48
if_icmpeq 5
4: new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
5: StackMap locals: sun.security.krb5.internal.PAForUserEnc sun.security.util.DerValue sun.security.krb5.EncryptionKey sun.security.util.DerValue
StackMap stack:
aconst_null
astore 4
start local 4 6: aload 1
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 3
7: aload 3
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 31
iand
ifne 14
8: new sun.security.krb5.PrincipalName
dup
aload 3
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
9: new sun.security.krb5.Realm
dup
ldc "PLACEHOLDER"
invokespecial sun.security.krb5.Realm.<init>:(Ljava/lang/String;)V
10: invokespecial sun.security.krb5.PrincipalName.<init>:(Lsun/security/util/DerValue;Lsun/security/krb5/Realm;)V
astore 4
11: goto 15
StackMap locals: sun.security.krb5.internal.PAForUserEnc sun.security.util.DerValue sun.security.krb5.EncryptionKey sun.security.util.DerValue sun.security.krb5.PrincipalName
StackMap stack: sun.security.krb5.RealmException
12: pop
13: goto 15
14: StackMap locals:
StackMap stack:
new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
15: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 3
16: aload 3
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 31
iand
iconst_1
if_icmpne 24
17: new sun.security.krb5.Realm
dup
aload 3
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
invokespecial sun.security.krb5.Realm.<init>:(Lsun/security/util/DerValue;)V
astore 5
start local 5 18: aload 0
new sun.security.krb5.PrincipalName
dup
19: aload 4
invokevirtual sun.security.krb5.PrincipalName.getNameType:()I
aload 4
invokevirtual sun.security.krb5.PrincipalName.getNameStrings:()[Ljava/lang/String;
aload 5
invokespecial sun.security.krb5.PrincipalName.<init>:(I[Ljava/lang/String;Lsun/security/krb5/Realm;)V
20: putfield sun.security.krb5.internal.PAForUserEnc.name:Lsun/security/krb5/PrincipalName;
end local 5 21: goto 25
StackMap locals:
StackMap stack: sun.security.krb5.RealmException
22: astore 5
start local 5 23: new java.io.IOException
dup
aload 5
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 24: StackMap locals:
StackMap stack:
new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
25: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 3
26: aload 3
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 31
iand
iconst_2
if_icmpeq 28
27: new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
28: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 3
29: aload 3
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 31
iand
iconst_3
if_icmpne 33
30: new sun.security.krb5.internal.util.KerberosString
dup
aload 3
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
invokespecial sun.security.krb5.internal.util.KerberosString.<init>:(Lsun/security/util/DerValue;)V
invokevirtual sun.security.krb5.internal.util.KerberosString.toString:()Ljava/lang/String;
astore 5
start local 5 31: aload 5
ldc "Kerberos"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 34
32: new java.io.IOException
dup
ldc "Incorrect auth-package"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 5 33: StackMap locals:
StackMap stack:
new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
34: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.available:()I
ifle 36
35: new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
36: 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 37 0 this Lsun/security/krb5/internal/PAForUserEnc;
0 37 1 encoding Lsun/security/util/DerValue;
0 37 2 key Lsun/security/krb5/EncryptionKey;
2 37 3 der Lsun/security/util/DerValue;
6 37 4 tmpName Lsun/security/krb5/PrincipalName;
18 21 5 realm Lsun/security/krb5/Realm;
23 24 5 re Lsun/security/krb5/RealmException;
31 33 5 authPackage Ljava/lang/String;
Exception table:
from to target type
8 11 12 Class sun.security.krb5.RealmException
17 21 22 Class sun.security.krb5.RealmException
Exceptions:
throws sun.security.krb5.Asn1Exception, sun.security.krb5.KrbException, java.io.IOException
MethodParameters:
Name Flags
encoding
key
public byte[] asn1Encode();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 1
start local 1 1: aload 1
bipush -128
iconst_1
iconst_0
invokestatic sun.security.util.DerValue.createTag:(BZB)B
aload 0
getfield sun.security.krb5.internal.PAForUserEnc.name:Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.asn1Encode:()[B
invokevirtual sun.security.util.DerOutputStream.write:(B[B)V
2: aload 1
bipush -128
iconst_1
iconst_1
invokestatic sun.security.util.DerValue.createTag:(BZB)B
aload 0
getfield sun.security.krb5.internal.PAForUserEnc.name:Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getRealm:()Lsun/security/krb5/Realm;
invokevirtual sun.security.krb5.Realm.asn1Encode:()[B
invokevirtual sun.security.util.DerOutputStream.write:(B[B)V
3: new sun.security.krb5.Checksum
dup
4: sipush -138
5: aload 0
invokevirtual sun.security.krb5.internal.PAForUserEnc.getS4UByteArray:()[B
6: aload 0
getfield sun.security.krb5.internal.PAForUserEnc.key:Lsun/security/krb5/EncryptionKey;
7: bipush 17
8: invokespecial sun.security.krb5.Checksum.<init>:(I[BLsun/security/krb5/EncryptionKey;I)V
astore 2
start local 2 9: aload 1
bipush -128
iconst_1
iconst_2
invokestatic sun.security.util.DerValue.createTag:(BZB)B
aload 2
invokevirtual sun.security.krb5.Checksum.asn1Encode:()[B
invokevirtual sun.security.util.DerOutputStream.write:(B[B)V
end local 2 10: goto 13
StackMap locals: sun.security.krb5.internal.PAForUserEnc sun.security.util.DerOutputStream
StackMap stack: sun.security.krb5.KrbException
11: astore 2
start local 2 12: new java.io.IOException
dup
aload 2
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 13: StackMap locals:
StackMap stack:
new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 2
start local 2 14: aload 2
new sun.security.krb5.internal.util.KerberosString
dup
ldc "Kerberos"
invokespecial sun.security.krb5.internal.util.KerberosString.<init>:(Ljava/lang/String;)V
invokevirtual sun.security.krb5.internal.util.KerberosString.toDerValue:()Lsun/security/util/DerValue;
invokevirtual sun.security.util.DerOutputStream.putDerValue:(Lsun/security/util/DerValue;)V
15: aload 1
bipush -128
iconst_1
iconst_3
invokestatic sun.security.util.DerValue.createTag:(BZB)B
aload 2
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
16: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 2
17: aload 2
bipush 48
aload 1
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
18: aload 2
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/krb5/internal/PAForUserEnc;
1 19 1 bytes Lsun/security/util/DerOutputStream;
9 10 2 cks Lsun/security/krb5/Checksum;
12 13 2 ke Lsun/security/krb5/KrbException;
14 19 2 temp Lsun/security/util/DerOutputStream;
Exception table:
from to target type
3 10 11 Class sun.security.krb5.KrbException
Exceptions:
throws sun.security.krb5.Asn1Exception, java.io.IOException
public byte[] getS4UByteArray();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 1: aload 1
iconst_4
newarray 8
invokevirtual java.io.ByteArrayOutputStream.writeBytes:([B)V
2: aload 0
getfield sun.security.krb5.internal.PAForUserEnc.name:Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getNameStrings:()[Ljava/lang/String;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: sun.security.krb5.internal.PAForUserEnc java.io.ByteArrayOutputStream top int int java.lang.String[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aload 1
aload 2
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokevirtual java.io.ByteArrayOutputStream.writeBytes:([B)V
end local 2 5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 3
7: aload 1
aload 0
getfield sun.security.krb5.internal.PAForUserEnc.name:Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getRealm:()Lsun/security/krb5/Realm;
invokevirtual sun.security.krb5.Realm.toString:()Ljava/lang/String;
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokevirtual java.io.ByteArrayOutputStream.writeBytes:([B)V
8: aload 1
ldc "Kerberos"
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokevirtual java.io.ByteArrayOutputStream.writeBytes:([B)V
9: aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 2
start local 2 10: aload 0
getfield sun.security.krb5.internal.PAForUserEnc.name:Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.PrincipalName.getNameType:()I
istore 3
start local 3 11: aload 2
iconst_0
iload 3
sipush 255
iand
i2b
bastore
12: aload 2
iconst_1
iload 3
bipush 8
ishr
sipush 255
iand
i2b
bastore
13: aload 2
iconst_2
iload 3
bipush 16
ishr
sipush 255
iand
i2b
bastore
14: aload 2
iconst_3
iload 3
bipush 24
ishr
sipush 255
iand
i2b
bastore
15: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/krb5/internal/PAForUserEnc;
1 16 1 ba Ljava/io/ByteArrayOutputStream;
4 5 2 s Ljava/lang/String;
10 16 2 output [B
11 16 3 pnType I
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "PA-FOR-USER: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.krb5.internal.PAForUserEnc.name:Lsun/security/krb5/PrincipalName;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/internal/PAForUserEnc;
}
SourceFile: "PAForUserEnc.java"