public class sun.security.krb5.PrincipalName implements java.lang.Cloneable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.krb5.PrincipalName
super_class: java.lang.Object
{
public static final int KRB_NT_UNKNOWN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int KRB_NT_PRINCIPAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int KRB_NT_SRV_INST;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int KRB_NT_SRV_HST;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int KRB_NT_SRV_XHST;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int KRB_NT_UID;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final java.lang.String TGS_DEFAULT_SRV_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "krbtgt"
public static final int TGS_DEFAULT_NT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final char NAME_COMPONENT_SEPARATOR;
descriptor: C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 47
public static final char NAME_REALM_SEPARATOR;
descriptor: C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 64
public static final char REALM_COMPONENT_SEPARATOR;
descriptor: C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 46
public static final java.lang.String NAME_COMPONENT_SEPARATOR_STR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "/"
public static final java.lang.String NAME_REALM_SEPARATOR_STR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "@"
public static final java.lang.String REALM_COMPONENT_SEPARATOR_STR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "."
private final int nameType;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String[] nameStrings;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.security.krb5.Realm nameRealm;
descriptor: Lsun/security/krb5/Realm;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean realmDeduced;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private transient java.lang.String salt;
descriptor: Ljava/lang/String;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private static final long NAME_STRINGS_OFFSET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.misc.Unsafe UNSAFE;
descriptor: Lsun/misc/Unsafe;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: invokestatic sun.misc.Unsafe.getUnsafe:()Lsun/misc/Unsafe;
astore 0
start local 0 1: aload 0
2: ldc Lsun/security/krb5/PrincipalName;
ldc "nameStrings"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
3: invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
putstatic sun.security.krb5.PrincipalName.NAME_STRINGS_OFFSET:J
4: aload 0
putstatic sun.security.krb5.PrincipalName.UNSAFE:Lsun/misc/Unsafe;
end local 0 5: goto 8
StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
6: astore 0
start local 0 7: new java.lang.Error
dup
aload 0
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 8: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
1 5 0 unsafe Lsun/misc/Unsafe;
7 8 0 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
0 5 6 Class java.lang.ReflectiveOperationException
public void <init>(int, java.lang.String[], sun.security.krb5.Realm);
descriptor: (I[Ljava/lang/String;Lsun/security/krb5/Realm;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.security.krb5.PrincipalName.salt:Ljava/lang/String;
2: aload 3
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "Null realm not allowed"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: sun.security.krb5.PrincipalName int java.lang.String[] sun.security.krb5.Realm
StackMap stack:
aload 2
invokestatic sun.security.krb5.PrincipalName.validateNameStrings:([Ljava/lang/String;)V
5: aload 0
iload 1
putfield sun.security.krb5.PrincipalName.nameType:I
6: aload 0
aload 2
invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
checkcast java.lang.String[]
putfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
7: aload 0
aload 3
putfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
8: aload 0
iconst_0
putfield sun.security.krb5.PrincipalName.realmDeduced:Z
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/krb5/PrincipalName;
0 10 1 nameType I
0 10 2 nameStrings [Ljava/lang/String;
0 10 3 nameRealm Lsun/security/krb5/Realm;
MethodParameters:
Name Flags
nameType
nameStrings
nameRealm
public void <init>(java.lang.String[], java.lang.String);
descriptor: ([Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_0
aload 1
new sun.security.krb5.Realm
dup
aload 2
invokespecial sun.security.krb5.Realm.<init>:(Ljava/lang/String;)V
invokespecial sun.security.krb5.PrincipalName.<init>:(I[Ljava/lang/String;Lsun/security/krb5/Realm;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/krb5/PrincipalName;
0 2 1 nameParts [Ljava/lang/String;
0 2 2 realm Ljava/lang/String;
Exceptions:
throws sun.security.krb5.RealmException
MethodParameters:
Name Flags
nameParts
realm
private static void validateNameStrings(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Null nameStrings not allowed"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
arraylength
ifne 4
3: new java.lang.IllegalArgumentException
dup
ldc "Empty nameStrings not allowed"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 11
StackMap locals: java.lang.String[] top int int java.lang.String[]
StackMap stack:
5: aload 4
iload 2
aaload
astore 1
start local 1 6: aload 1
ifnonnull 8
7: new java.lang.IllegalArgumentException
dup
ldc "Null nameString not allowed"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 10
9: new java.lang.IllegalArgumentException
dup
ldc "Empty nameString not allowed"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 10: StackMap locals: java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
iload 3
if_icmplt 5
12: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 ns [Ljava/lang/String;
6 10 1 s Ljava/lang/String;
MethodParameters:
Name Flags
ns
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.clone:()Ljava/lang/Object;
checkcast sun.security.krb5.PrincipalName
astore 1
start local 1 1: getstatic sun.security.krb5.PrincipalName.UNSAFE:Lsun/misc/Unsafe;
aload 0
getstatic sun.security.krb5.PrincipalName.NAME_STRINGS_OFFSET:J
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
invokevirtual sun.misc.Unsafe.putObject:(Ljava/lang/Object;JLjava/lang/Object;)V
2: aload 1
3: areturn
end local 1 4: StackMap locals:
StackMap stack: java.lang.CloneNotSupportedException
pop
5: new java.lang.AssertionError
dup
ldc "Should never happen"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/krb5/PrincipalName;
1 4 1 pName Lsun/security/krb5/PrincipalName;
Exception table:
from to target type
0 3 4 Class java.lang.CloneNotSupportedException
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof sun.security.krb5.PrincipalName
ifeq 8
3: aload 1
checkcast sun.security.krb5.PrincipalName
astore 2
start local 2 4: aload 0
getfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
aload 2
getfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
invokevirtual sun.security.krb5.Realm.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
aload 2
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
ifeq 7
6: iconst_1
ireturn
StackMap locals: sun.security.krb5.PrincipalName
StackMap stack:
7: iconst_0
ireturn
end local 2 8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/krb5/PrincipalName;
0 9 1 o Ljava/lang/Object;
4 8 2 other Lsun/security/krb5/PrincipalName;
MethodParameters:
Name Flags
o
public void <init>(sun.security.util.DerValue, sun.security.krb5.Realm);
descriptor: (Lsun/security/util/DerValue;Lsun/security/krb5/Realm;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.security.krb5.PrincipalName.salt:Ljava/lang/String;
2: aload 2
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "Null realm not allowed"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: sun.security.krb5.PrincipalName sun.security.util.DerValue sun.security.krb5.Realm
StackMap stack:
aload 0
iconst_0
putfield sun.security.krb5.PrincipalName.realmDeduced:Z
5: aload 0
aload 2
putfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
6: aload 1
ifnonnull 8
7: new java.lang.IllegalArgumentException
dup
ldc "Null encoding not allowed"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 48
if_icmpeq 10
9: new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
10: 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
start local 3 11: aload 3
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 31
iand
ifne 15
12: aload 3
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getBigInteger:()Ljava/math/BigInteger;
astore 4
start local 4 13: aload 0
aload 4
invokevirtual java.math.BigInteger.intValue:()I
putfield sun.security.krb5.PrincipalName.nameType:I
end local 4 14: goto 16
15: StackMap locals: sun.security.util.DerValue
StackMap stack:
new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
16: 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
17: aload 3
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 31
iand
iconst_1
if_icmpne 31
18: aload 3
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 4
start local 4 19: aload 4
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 48
if_icmpeq 21
20: new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
21: StackMap locals: sun.security.util.DerValue
StackMap stack:
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 5
start local 5 22: goto 26
23: StackMap locals: java.util.Vector
StackMap stack:
aload 4
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 6
start local 6 24: new sun.security.krb5.internal.util.KerberosString
dup
aload 6
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 7
start local 7 25: aload 5
aload 7
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 7 end local 6 26: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.available:()I
ifgt 23
27: aload 0
aload 5
invokevirtual java.util.Vector.size:()I
anewarray java.lang.String
putfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
28: aload 5
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
29: aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
invokestatic sun.security.krb5.PrincipalName.validateNameStrings:([Ljava/lang/String;)V
end local 5 end local 4 30: goto 32
31: StackMap locals:
StackMap stack:
new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
32: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/security/krb5/PrincipalName;
0 33 1 encoding Lsun/security/util/DerValue;
0 33 2 realm Lsun/security/krb5/Realm;
11 33 3 der Lsun/security/util/DerValue;
13 14 4 bint Ljava/math/BigInteger;
19 30 4 subDer Lsun/security/util/DerValue;
22 30 5 v Ljava/util/Vector<Ljava/lang/String;>;
24 26 6 subSubDer Lsun/security/util/DerValue;
25 26 7 namePart Ljava/lang/String;
Exceptions:
throws sun.security.krb5.Asn1Exception, java.io.IOException
MethodParameters:
Name Flags
encoding
realm
public static sun.security.krb5.PrincipalName parse(sun.security.util.DerInputStream, byte, boolean, sun.security.krb5.Realm);
descriptor: (Lsun/security/util/DerInputStream;BZLsun/security/krb5/Realm;)Lsun/security/krb5/PrincipalName;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifeq 3
aload 0
invokevirtual sun.security.util.DerInputStream.peekByte:()I
i2b
bipush 31
iand
1: iload 1
if_icmpeq 3
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 4
start local 4 4: iload 1
aload 4
invokevirtual sun.security.util.DerValue.getTag:()B
bipush 31
iand
if_icmpeq 6
5: new sun.security.krb5.Asn1Exception
dup
sipush 906
invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
athrow
6: StackMap locals: sun.security.util.DerValue
StackMap stack:
aload 4
invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 5
start local 5 7: aload 3
ifnonnull 9
8: invokestatic sun.security.krb5.Realm.getDefault:()Lsun/security/krb5/Realm;
astore 3
9: StackMap locals: sun.security.util.DerValue
StackMap stack:
new sun.security.krb5.PrincipalName
dup
aload 5
aload 3
invokespecial sun.security.krb5.PrincipalName.<init>:(Lsun/security/util/DerValue;Lsun/security/krb5/Realm;)V
areturn
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 10 0 data Lsun/security/util/DerInputStream;
0 10 1 explicitTag B
0 10 2 optional Z
0 10 3 realm Lsun/security/krb5/Realm;
4 10 4 der Lsun/security/util/DerValue;
7 10 5 subDer Lsun/security/util/DerValue;
Exceptions:
throws sun.security.krb5.Asn1Exception, java.io.IOException, sun.security.krb5.RealmException
MethodParameters:
Name Flags
data
explicitTag
optional
realm
private static java.lang.String[] parseName(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 1
start local 1 1: aload 0
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 28
5: StackMap locals: java.lang.String java.util.Vector java.lang.String int int
StackMap stack:
aload 2
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpne 16
6: iload 3
ifle 11
aload 2
iload 3
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 92
if_icmpne 11
7: new java.lang.StringBuilder
dup
aload 2
iconst_0
iload 3
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 2
iload 3
aload 2
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
10: goto 28
11: StackMap locals:
StackMap stack:
iload 4
iload 3
if_icmpgt 14
12: aload 2
iload 4
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
start local 5 13: aload 1
aload 5
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 5 14: StackMap locals:
StackMap stack:
iload 3
iconst_1
iadd
istore 4
15: goto 27
16: StackMap locals:
StackMap stack:
aload 2
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 64
if_icmpne 27
17: iload 3
ifle 22
aload 2
iload 3
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 92
if_icmpne 22
18: new java.lang.StringBuilder
dup
aload 2
iconst_0
iload 3
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: aload 2
iload 3
aload 2
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
21: goto 28
22: StackMap locals:
StackMap stack:
iload 4
iload 3
if_icmpge 25
23: aload 2
iload 4
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
start local 5 24: aload 1
aload 5
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 5 25: StackMap locals:
StackMap stack:
iload 3
iconst_1
iadd
istore 4
26: goto 29
27: StackMap locals:
StackMap stack:
iinc 3 1
28: StackMap locals:
StackMap stack:
iload 3
aload 2
invokevirtual java.lang.String.length:()I
if_icmplt 5
29: StackMap locals:
StackMap stack:
iload 3
aload 2
invokevirtual java.lang.String.length:()I
if_icmpne 32
30: aload 2
iload 4
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
start local 5 31: aload 1
aload 5
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 5 32: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.Vector.size:()I
anewarray java.lang.String
astore 6
start local 6 33: aload 1
aload 6
invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
34: aload 6
areturn
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 name Ljava/lang/String;
1 35 1 tempStrings Ljava/util/Vector<Ljava/lang/String;>;
2 35 2 temp Ljava/lang/String;
3 35 3 i I
4 35 4 componentStart I
13 14 5 component Ljava/lang/String;
24 25 5 component Ljava/lang/String;
31 32 5 component Ljava/lang/String;
33 35 6 result [Ljava/lang/String;
MethodParameters:
Name Flags
name
public void <init>(java.lang.String, int, java.lang.String);
descriptor: (Ljava/lang/String;ILjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.security.krb5.PrincipalName.salt:Ljava/lang/String;
2: aload 1
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "Null name not allowed"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: sun.security.krb5.PrincipalName java.lang.String int java.lang.String
StackMap stack:
aload 1
invokestatic sun.security.krb5.PrincipalName.parseName:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 5: aload 4
invokestatic sun.security.krb5.PrincipalName.validateNameStrings:([Ljava/lang/String;)V
6: aload 3
ifnonnull 8
7: aload 1
invokestatic sun.security.krb5.Realm.parseRealmAtSeparator:(Ljava/lang/String;)Ljava/lang/String;
astore 3
8: StackMap locals: java.lang.String[]
StackMap stack:
aload 0
aload 3
ifnonnull 9
iconst_1
goto 10
StackMap locals:
StackMap stack: sun.security.krb5.PrincipalName
9: iconst_0
StackMap locals: sun.security.krb5.PrincipalName java.lang.String int java.lang.String java.lang.String[]
StackMap stack: sun.security.krb5.PrincipalName int
10: putfield sun.security.krb5.PrincipalName.realmDeduced:Z
11: iload 2
tableswitch { // 0 - 5
0: 36
1: 36
2: 36
3: 12
4: 36
5: 36
default: 43
}
12: StackMap locals:
StackMap stack:
aload 4
arraylength
iconst_2
if_icmplt 25
13: aload 4
iconst_1
aaload
astore 5
start local 5 14: aload 5
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
15: invokevirtual java.net.InetAddress.getCanonicalHostName:()Ljava/lang/String;
16: astore 6
start local 6 17: aload 6
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
18: new java.lang.StringBuilder
dup
aload 5
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
20: ifeq 24
21: aload 6
astore 5
end local 6 22: goto 24
StackMap locals: sun.security.krb5.PrincipalName java.lang.String int java.lang.String java.lang.String[] java.lang.String
StackMap stack: java.lang.Exception
23: pop
24: StackMap locals:
StackMap stack:
aload 4
iconst_1
aload 5
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aastore
end local 5 25: StackMap locals:
StackMap stack:
aload 0
aload 4
putfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
26: aload 0
iload 2
putfield sun.security.krb5.PrincipalName.nameType:I
27: aload 3
ifnull 30
28: aload 0
new sun.security.krb5.Realm
dup
aload 3
invokespecial sun.security.krb5.Realm.<init>:(Ljava/lang/String;)V
putfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
29: goto 44
30: StackMap locals:
StackMap stack:
aload 4
iconst_1
aaload
invokestatic sun.security.krb5.PrincipalName.mapHostToRealm:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 31: aload 5
ifnull 34
32: aload 0
new sun.security.krb5.Realm
dup
aload 5
invokespecial sun.security.krb5.Realm.<init>:(Ljava/lang/String;)V
putfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
33: goto 44
34: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokestatic sun.security.krb5.Realm.getDefault:()Lsun/security/krb5/Realm;
putfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
end local 5 35: goto 44
36: StackMap locals:
StackMap stack:
aload 0
aload 4
putfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
37: aload 0
iload 2
putfield sun.security.krb5.PrincipalName.nameType:I
38: aload 3
ifnull 41
39: aload 0
new sun.security.krb5.Realm
dup
aload 3
invokespecial sun.security.krb5.Realm.<init>:(Ljava/lang/String;)V
putfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
40: goto 44
41: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.security.krb5.Realm.getDefault:()Lsun/security/krb5/Realm;
putfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
42: goto 44
43: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Illegal name type"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
44: 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 45 0 this Lsun/security/krb5/PrincipalName;
0 45 1 name Ljava/lang/String;
0 45 2 type I
0 45 3 realm Ljava/lang/String;
5 45 4 nameParts [Ljava/lang/String;
14 25 5 hostName Ljava/lang/String;
17 22 6 canonicalized Ljava/lang/String;
31 35 5 mapRealm Ljava/lang/String;
Exception table:
from to target type
14 22 23 Class java.net.UnknownHostException
14 22 23 Class java.lang.SecurityException
Exceptions:
throws sun.security.krb5.RealmException
MethodParameters:
Name Flags
name
type
realm
public void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
aconst_null
invokespecial sun.security.krb5.PrincipalName.<init>:(Ljava/lang/String;ILjava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/krb5/PrincipalName;
0 2 1 name Ljava/lang/String;
0 2 2 type I
Exceptions:
throws sun.security.krb5.RealmException
MethodParameters:
Name Flags
name
type
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokespecial sun.security.krb5.PrincipalName.<init>:(Ljava/lang/String;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/krb5/PrincipalName;
0 2 1 name Ljava/lang/String;
Exceptions:
throws sun.security.krb5.RealmException
MethodParameters:
Name Flags
name
public void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
aload 2
invokespecial sun.security.krb5.PrincipalName.<init>:(Ljava/lang/String;ILjava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/krb5/PrincipalName;
0 2 1 name Ljava/lang/String;
0 2 2 realm Ljava/lang/String;
Exceptions:
throws sun.security.krb5.RealmException
MethodParameters:
Name Flags
name
realm
public static sun.security.krb5.PrincipalName tgsService(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lsun/security/krb5/PrincipalName;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: new sun.security.krb5.PrincipalName
dup
iconst_2
1: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "krbtgt"
aastore
dup
iconst_1
aload 0
aastore
2: new sun.security.krb5.Realm
dup
aload 1
invokespecial sun.security.krb5.Realm.<init>:(Ljava/lang/String;)V
3: invokespecial sun.security.krb5.PrincipalName.<init>:(I[Ljava/lang/String;Lsun/security/krb5/Realm;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 r1 Ljava/lang/String;
0 4 1 r2 Ljava/lang/String;
Exceptions:
throws sun.security.krb5.KrbException
MethodParameters:
Name Flags
r1
r2
public java.lang.String getRealmAsString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.krb5.PrincipalName.getRealmString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/PrincipalName;
public java.lang.String getPrincipalNameAsString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
iconst_0
aaload
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: iconst_1
istore 2
start local 2 2: goto 5
3: StackMap locals: java.lang.StringBuffer int
StackMap stack:
aload 1
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
if_icmplt 3
end local 2 6: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/krb5/PrincipalName;
1 7 1 temp Ljava/lang/StringBuffer;
2 6 2 i I
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.krb5.PrincipalName.toString:()Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/PrincipalName;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.krb5.PrincipalName.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/PrincipalName;
public int getNameType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.PrincipalName.nameType:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/PrincipalName;
public java.lang.String[] getNameStrings();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/PrincipalName;
public byte[][] toByteArray();
descriptor: ()[[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
anewarray byte[]
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: byte[][] int
StackMap stack:
aload 1
iload 2
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.String.length:()I
newarray 8
aastore
4: aload 1
iload 2
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.String.getBytes:()[B
aastore
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
if_icmplt 3
end local 2 7: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/krb5/PrincipalName;
1 8 1 result [[B
2 7 2 i I
public java.lang.String getRealmString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
invokevirtual sun.security.krb5.Realm.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/PrincipalName;
public sun.security.krb5.Realm getRealm();
descriptor: ()Lsun/security/krb5/Realm;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/PrincipalName;
public java.lang.String getSalt();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.PrincipalName.salt:Ljava/lang/String;
ifnonnull 9
1: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 2: aload 1
aload 0
getfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
invokevirtual sun.security.krb5.Realm.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: iconst_0
istore 2
start local 2 4: goto 7
5: StackMap locals: java.lang.StringBuffer int
StackMap stack:
aload 1
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
if_icmplt 5
end local 2 8: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.PrincipalName.salt:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/krb5/PrincipalName;
2 9 1 salt Ljava/lang/StringBuffer;
4 8 2 i I
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: java.lang.StringBuffer int
StackMap stack:
iload 2
ifle 5
4: aload 1
ldc "/"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
if_icmplt 3
end local 2 8: aload 1
ldc "@"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
9: aload 1
aload 0
getfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
invokevirtual sun.security.krb5.Realm.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
10: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/krb5/PrincipalName;
1 11 1 str Ljava/lang/StringBuffer;
2 8 2 i I
public java.lang.String getNameString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: java.lang.StringBuffer int
StackMap stack:
iload 2
ifle 5
4: aload 1
ldc "/"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
if_icmplt 3
end local 2 8: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/krb5/PrincipalName;
1 9 1 str Ljava/lang/StringBuffer;
2 8 2 i I
public byte[] asn1Encode();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, 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: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 2
start local 2 2: aload 0
getfield sun.security.krb5.PrincipalName.nameType:I
i2l
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
astore 3
start local 3 3: aload 2
aload 3
invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
4: aload 1
bipush -128
iconst_1
iconst_0
invokestatic sun.security.util.DerValue.createTag:(BZB)B
aload 2
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
5: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 2
6: aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
anewarray sun.security.util.DerValue
astore 4
start local 4 7: iconst_0
istore 5
start local 5 8: goto 11
9: StackMap locals: sun.security.krb5.PrincipalName sun.security.util.DerOutputStream sun.security.util.DerOutputStream java.math.BigInteger sun.security.util.DerValue[] int
StackMap stack:
aload 4
iload 5
new sun.security.krb5.internal.util.KerberosString
dup
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
iload 5
aaload
invokespecial sun.security.krb5.internal.util.KerberosString.<init>:(Ljava/lang/String;)V
invokevirtual sun.security.krb5.internal.util.KerberosString.toDerValue:()Lsun/security/util/DerValue;
aastore
10: iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
if_icmplt 9
end local 5 12: aload 2
aload 4
invokevirtual sun.security.util.DerOutputStream.putSequence:([Lsun/security/util/DerValue;)V
13: aload 1
bipush -128
iconst_1
iconst_1
invokestatic sun.security.util.DerValue.createTag:(BZB)B
aload 2
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
14: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 2
15: aload 2
bipush 48
aload 1
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
16: aload 2
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/krb5/PrincipalName;
1 17 1 bytes Lsun/security/util/DerOutputStream;
2 17 2 temp Lsun/security/util/DerOutputStream;
3 17 3 bint Ljava/math/BigInteger;
7 17 4 der [Lsun/security/util/DerValue;
8 12 5 i I
Exceptions:
throws sun.security.krb5.Asn1Exception, java.io.IOException
public boolean match(sun.security.krb5.PrincipalName);
descriptor: (Lsun/security/krb5/PrincipalName;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iconst_1
istore 2
start local 2 1: aload 0
getfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
ifnull 4
aload 1
getfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
ifnull 4
2: aload 0
getfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
invokevirtual sun.security.krb5.Realm.toString:()Ljava/lang/String;
aload 1
getfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
invokevirtual sun.security.krb5.Realm.toString:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 4
3: iconst_0
istore 2
4: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
aload 1
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
if_icmpeq 7
5: iconst_0
istore 2
6: goto 13
7: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 8: goto 12
9: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
iload 3
aaload
aload 1
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
iload 3
aaload
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 11
10: iconst_0
istore 2
11: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
if_icmplt 9
end local 3 13: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/krb5/PrincipalName;
0 14 1 pname Lsun/security/krb5/PrincipalName;
1 14 2 matched Z
8 13 3 i I
MethodParameters:
Name Flags
pname
public void writePrincipal(sun.security.krb5.internal.ccache.CCacheOutputStream);
descriptor: (Lsun/security/krb5/internal/ccache/CCacheOutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield sun.security.krb5.PrincipalName.nameType:I
invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.write32:(I)V
1: aload 1
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.write32:(I)V
2: aconst_null
astore 2
start local 2 3: aload 0
getfield sun.security.krb5.PrincipalName.nameRealm:Lsun/security/krb5/Realm;
invokevirtual sun.security.krb5.Realm.toString:()Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
astore 2
4: aload 1
aload 2
arraylength
invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.write32:(I)V
5: aload 1
aload 2
iconst_0
aload 2
arraylength
invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.write:([BII)V
6: aconst_null
astore 3
start local 3 7: iconst_0
istore 4
start local 4 8: goto 13
9: StackMap locals: byte[] byte[] int
StackMap stack:
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
iload 4
aaload
invokevirtual java.lang.String.getBytes:()[B
astore 3
10: aload 1
aload 3
arraylength
invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.write32:(I)V
11: aload 1
aload 3
iconst_0
aload 3
arraylength
invokevirtual sun.security.krb5.internal.ccache.CCacheOutputStream.write:([BII)V
12: iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
if_icmplt 9
end local 4 14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/krb5/PrincipalName;
0 15 1 cos Lsun/security/krb5/internal/ccache/CCacheOutputStream;
3 15 2 realmBytes [B
7 15 3 bytes [B
8 14 4 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cos
public java.lang.String getInstanceComponent();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
ifnull 2
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
arraylength
iconst_2
if_icmplt 2
1: new java.lang.String
dup
aload 0
getfield sun.security.krb5.PrincipalName.nameStrings:[Ljava/lang/String;
iconst_1
aaload
invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/krb5/PrincipalName;
static java.lang.String mapHostToRealm(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: invokestatic sun.security.krb5.Config.getInstance:()Lsun/security/krb5/Config;
astore 3
start local 3 3: aload 3
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "domain_realm"
aastore
dup
iconst_1
aload 0
aastore
invokevirtual sun.security.krb5.Config.get:([Ljava/lang/String;)Ljava/lang/String;
dup
astore 1
ifnull 6
4: aload 1
5: areturn
6: StackMap locals: java.lang.String java.lang.String sun.security.krb5.Config
StackMap stack:
iconst_1
istore 4
start local 4 7: goto 18
8: StackMap locals: int
StackMap stack:
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
bipush 46
if_icmpne 17
iload 4
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
if_icmpeq 17
9: aload 0
iload 4
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
10: aload 3
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "domain_realm"
aastore
dup
iconst_1
aload 2
aastore
invokevirtual sun.security.krb5.Config.get:([Ljava/lang/String;)Ljava/lang/String;
astore 1
11: aload 1
ifnull 13
12: goto 21
13: StackMap locals:
StackMap stack:
aload 0
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
14: aload 3
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "domain_realm"
aastore
dup
iconst_1
aload 2
aastore
invokevirtual sun.security.krb5.Config.get:([Ljava/lang/String;)Ljava/lang/String;
astore 1
15: aload 1
ifnull 17
16: goto 21
17: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
18: iload 4
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 8
end local 4 end local 3 end local 2 19: goto 21
StackMap locals: java.lang.String java.lang.String
StackMap stack: sun.security.krb5.KrbException
20: pop
21: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 name Ljava/lang/String;
1 22 1 result Ljava/lang/String;
2 19 2 subname Ljava/lang/String;
3 19 3 c Lsun/security/krb5/Config;
7 19 4 i I
Exception table:
from to target type
1 5 20 Class sun.security.krb5.KrbException
6 19 20 Class sun.security.krb5.KrbException
MethodParameters:
Name Flags
name
public boolean isRealmDeduced();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.PrincipalName.realmDeduced:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/krb5/PrincipalName;
}
SourceFile: "PrincipalName.java"