public class sun.security.krb5.internal.tools.Kinit
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.krb5.internal.tools.Kinit
super_class: java.lang.Object
{
private sun.security.krb5.internal.tools.KinitOptions options;
descriptor: Lsun/security/krb5/internal/tools/KinitOptions;
flags: (0x0002) ACC_PRIVATE
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.security.krb5.internal.Krb5.DEBUG:Z
putstatic sun.security.krb5.internal.tools.Kinit.DEBUG:Z
return
LocalVariableTable:
Start End Slot Name Signature
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: new sun.security.krb5.internal.tools.Kinit
aload 0
invokespecial sun.security.krb5.internal.tools.Kinit.<init>:([Ljava/lang/String;)V
1: goto 16
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 3: aconst_null
astore 2
start local 2 4: aload 1
instanceof sun.security.krb5.KrbException
ifeq 9
5: new java.lang.StringBuilder
dup
aload 1
checkcast sun.security.krb5.KrbException
invokevirtual sun.security.krb5.KrbException.krbErrorMessage:()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;
6: aload 1
checkcast sun.security.krb5.KrbException
invokevirtual sun.security.krb5.KrbException.returnCodeMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
8: goto 10
9: StackMap locals: java.lang.Exception java.lang.String
StackMap stack:
aload 1
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
astore 2
10: StackMap locals:
StackMap stack:
aload 2
ifnull 13
11: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Exception: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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
12: goto 14
13: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Exception: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Exception.printStackTrace:()V
15: iconst_m1
invokestatic java.lang.System.exit:(I)V
end local 2 end local 1 16: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 args [Ljava/lang/String;
3 16 1 e Ljava/lang/Exception;
4 16 2 msg Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
MethodParameters:
Name Flags
args
private void <init>(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnull 2
aload 1
arraylength
ifne 4
2: StackMap locals: sun.security.krb5.internal.tools.Kinit java.lang.String[]
StackMap stack:
aload 0
new sun.security.krb5.internal.tools.KinitOptions
dup
invokespecial sun.security.krb5.internal.tools.KinitOptions.<init>:()V
putfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
new sun.security.krb5.internal.tools.KinitOptions
dup
aload 1
invokespecial sun.security.krb5.internal.tools.KinitOptions.<init>:([Ljava/lang/String;)V
putfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.action:I
tableswitch { // 1 - 2
1: 6
2: 8
default: 10
}
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.krb5.internal.tools.Kinit.acquire:()V
7: goto 13
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.krb5.internal.tools.Kinit.renew:()V
9: goto 13
10: StackMap locals:
StackMap stack:
new sun.security.krb5.KrbException
dup
new java.lang.StringBuilder
dup
ldc "kinit does not support action "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.action:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial sun.security.krb5.KrbException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/krb5/internal/tools/Kinit;
0 14 1 args [Ljava/lang/String;
Exceptions:
throws java.io.IOException, sun.security.krb5.RealmException, sun.security.krb5.KrbException
MethodParameters:
Name Flags
args
private void renew();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
invokevirtual sun.security.krb5.internal.tools.KinitOptions.getPrincipal:()Lsun/security/krb5/PrincipalName;
astore 1
start local 1 1: aload 1
invokevirtual sun.security.krb5.PrincipalName.getRealmAsString:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.cachename:Ljava/lang/String;
invokestatic sun.security.krb5.internal.ccache.CredentialsCache.getInstance:(Ljava/lang/String;)Lsun/security/krb5/internal/ccache/CredentialsCache;
astore 3
start local 3 3: aload 3
ifnonnull 7
4: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unable to find existing cache file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.cachename:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: sun.security.krb5.PrincipalName java.lang.String sun.security.krb5.internal.ccache.CredentialsCache
StackMap stack:
aload 3
aload 2
aload 2
invokestatic sun.security.krb5.PrincipalName.tgsService:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/krb5/PrincipalName;
invokevirtual sun.security.krb5.internal.ccache.CredentialsCache.getCreds:(Lsun/security/krb5/PrincipalName;)Lsun/security/krb5/internal/ccache/Credentials;
8: astore 4
start local 4 9: aload 4
invokevirtual sun.security.krb5.internal.ccache.Credentials.setKrbCreds:()Lsun/security/krb5/Credentials;
10: invokevirtual sun.security.krb5.Credentials.renew:()Lsun/security/krb5/Credentials;
11: invokevirtual sun.security.krb5.Credentials.toCCacheCreds:()Lsun/security/krb5/internal/ccache/Credentials;
12: astore 4
13: aload 1
aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.cachename:Ljava/lang/String;
invokestatic sun.security.krb5.internal.ccache.CredentialsCache.create:(Lsun/security/krb5/PrincipalName;Ljava/lang/String;)Lsun/security/krb5/internal/ccache/CredentialsCache;
astore 3
14: aload 3
ifnonnull 18
15: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unable to create the cache file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.cachename:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: sun.security.krb5.internal.ccache.Credentials
StackMap stack:
aload 3
aload 4
invokevirtual sun.security.krb5.internal.ccache.CredentialsCache.update:(Lsun/security/krb5/internal/ccache/Credentials;)V
19: aload 3
invokevirtual sun.security.krb5.internal.ccache.CredentialsCache.save:()V
20: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/security/krb5/internal/tools/Kinit;
1 21 1 principal Lsun/security/krb5/PrincipalName;
2 21 2 realm Ljava/lang/String;
3 21 3 cache Lsun/security/krb5/internal/ccache/CredentialsCache;
9 21 4 credentials Lsun/security/krb5/internal/ccache/Credentials;
Exceptions:
throws java.io.IOException, sun.security.krb5.RealmException, sun.security.krb5.KrbException
private void acquire();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
invokevirtual sun.security.krb5.internal.tools.KinitOptions.getPrincipal:()Lsun/security/krb5/PrincipalName;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
invokevirtual sun.security.krb5.PrincipalName.toString:()Ljava/lang/String;
astore 1
4: StackMap locals: java.lang.String sun.security.krb5.PrincipalName
StackMap stack:
getstatic sun.security.krb5.internal.tools.Kinit.DEBUG:Z
ifeq 6
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Principal is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.password:[C
astore 4
start local 4 7: aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
invokevirtual sun.security.krb5.internal.tools.KinitOptions.useKeytabFile:()Z
istore 5
start local 5 8: iload 5
ifne 23
9: aload 1
ifnonnull 13
10: new java.lang.IllegalArgumentException
dup
11: ldc " Can not obtain principal name"
12: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: sun.security.krb5.internal.tools.Kinit java.lang.String sun.security.krb5.PrincipalName top char[] int
StackMap stack:
aload 4
ifnonnull 21
14: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Password for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
15: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
16: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 4
17: getstatic sun.security.krb5.internal.tools.Kinit.DEBUG:Z
ifeq 21
18: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ">>> Kinit console input "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: new java.lang.String
dup
aload 4
invokespecial java.lang.String.<init>:([C)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
21: StackMap locals:
StackMap stack:
new sun.security.krb5.KrbAsReqBuilder
dup
aload 2
aload 4
invokespecial sun.security.krb5.KrbAsReqBuilder.<init>:(Lsun/security/krb5/PrincipalName;[C)V
astore 3
start local 3 22: goto 39
end local 3 23: StackMap locals:
StackMap stack:
getstatic sun.security.krb5.internal.tools.Kinit.DEBUG:Z
ifeq 25
24: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ">>> Kinit using keytab"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
aload 1
ifnonnull 29
26: new java.lang.IllegalArgumentException
dup
27: ldc "Principal name must be specified."
28: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
invokevirtual sun.security.krb5.internal.tools.KinitOptions.keytabFileName:()Ljava/lang/String;
astore 6
start local 6 30: aload 6
ifnull 35
31: getstatic sun.security.krb5.internal.tools.Kinit.DEBUG:Z
ifeq 35
32: getstatic java.lang.System.out:Ljava/io/PrintStream;
33: new java.lang.StringBuilder
dup
ldc ">>> Kinit keytab file name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
35: StackMap locals: java.lang.String
StackMap stack:
new sun.security.krb5.KrbAsReqBuilder
dup
aload 2
aload 6
ifnonnull 37
36: invokestatic javax.security.auth.kerberos.KeyTab.getInstance:()Ljavax/security/auth/kerberos/KeyTab;
goto 38
37: StackMap locals: sun.security.krb5.internal.tools.Kinit java.lang.String sun.security.krb5.PrincipalName top char[] int java.lang.String
StackMap stack: new 35 new 35 sun.security.krb5.PrincipalName
new java.io.File
dup
aload 6
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic javax.security.auth.kerberos.KeyTab.getInstance:(Ljava/io/File;)Ljavax/security/auth/kerberos/KeyTab;
38: StackMap locals: sun.security.krb5.internal.tools.Kinit java.lang.String sun.security.krb5.PrincipalName top char[] int java.lang.String
StackMap stack: new 35 new 35 sun.security.krb5.PrincipalName javax.security.auth.kerberos.KeyTab
invokespecial sun.security.krb5.KrbAsReqBuilder.<init>:(Lsun/security/krb5/PrincipalName;Ljavax/security/auth/kerberos/KeyTab;)V
astore 3
end local 6 start local 3 39: StackMap locals: sun.security.krb5.internal.tools.Kinit java.lang.String sun.security.krb5.PrincipalName sun.security.krb5.KrbAsReqBuilder char[] int
StackMap stack:
new sun.security.krb5.internal.KDCOptions
dup
invokespecial sun.security.krb5.internal.KDCOptions.<init>:()V
astore 6
start local 6 40: iconst_1
aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.forwardable:S
aload 6
invokestatic sun.security.krb5.internal.tools.Kinit.setOptions:(IILsun/security/krb5/internal/KDCOptions;)V
41: iconst_3
aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.proxiable:S
aload 6
invokestatic sun.security.krb5.internal.tools.Kinit.setOptions:(IILsun/security/krb5/internal/KDCOptions;)V
42: aload 3
aload 6
invokevirtual sun.security.krb5.KrbAsReqBuilder.setOptions:(Lsun/security/krb5/internal/KDCOptions;)V
43: aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
invokevirtual sun.security.krb5.internal.tools.KinitOptions.getKDCRealm:()Ljava/lang/String;
astore 7
start local 7 44: aload 7
ifnonnull 46
45: invokestatic sun.security.krb5.Config.getInstance:()Lsun/security/krb5/Config;
invokevirtual sun.security.krb5.Config.getDefaultRealm:()Ljava/lang/String;
astore 7
46: StackMap locals: sun.security.krb5.internal.KDCOptions java.lang.String
StackMap stack:
getstatic sun.security.krb5.internal.tools.Kinit.DEBUG:Z
ifeq 48
47: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ">>> Kinit realm name is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
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
48: StackMap locals:
StackMap stack:
aload 7
aload 7
invokestatic sun.security.krb5.PrincipalName.tgsService:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/krb5/PrincipalName;
astore 8
start local 8 49: aload 3
aload 8
invokevirtual sun.security.krb5.KrbAsReqBuilder.setTarget:(Lsun/security/krb5/PrincipalName;)V
50: getstatic sun.security.krb5.internal.tools.Kinit.DEBUG:Z
ifeq 52
51: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ">>> Creating KrbAsReq"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
52: StackMap locals: sun.security.krb5.PrincipalName
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
invokevirtual sun.security.krb5.internal.tools.KinitOptions.getAddressOption:()Z
ifeq 54
53: aload 3
invokestatic sun.security.krb5.internal.HostAddresses.getLocalAddresses:()Lsun/security/krb5/internal/HostAddresses;
invokevirtual sun.security.krb5.KrbAsReqBuilder.setAddresses:(Lsun/security/krb5/internal/HostAddresses;)V
54: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.lifetime:Lsun/security/krb5/internal/KerberosTime;
invokevirtual sun.security.krb5.KrbAsReqBuilder.setTill:(Lsun/security/krb5/internal/KerberosTime;)V
55: aload 3
aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.renewable_lifetime:Lsun/security/krb5/internal/KerberosTime;
invokevirtual sun.security.krb5.KrbAsReqBuilder.setRTime:(Lsun/security/krb5/internal/KerberosTime;)V
56: aload 3
invokevirtual sun.security.krb5.KrbAsReqBuilder.action:()Lsun/security/krb5/KrbAsReqBuilder;
pop
57: aload 3
invokevirtual sun.security.krb5.KrbAsReqBuilder.getCCreds:()Lsun/security/krb5/internal/ccache/Credentials;
58: astore 9
start local 9 59: aload 3
invokevirtual sun.security.krb5.KrbAsReqBuilder.destroy:()V
60: aload 2
aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.cachename:Ljava/lang/String;
invokestatic sun.security.krb5.internal.ccache.CredentialsCache.create:(Lsun/security/krb5/PrincipalName;Ljava/lang/String;)Lsun/security/krb5/internal/ccache/CredentialsCache;
61: astore 10
start local 10 62: aload 10
ifnonnull 66
63: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unable to create the cache file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
64: aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.cachename:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
65: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
66: StackMap locals: sun.security.krb5.internal.ccache.Credentials sun.security.krb5.internal.ccache.CredentialsCache
StackMap stack:
aload 10
aload 9
invokevirtual sun.security.krb5.internal.ccache.CredentialsCache.update:(Lsun/security/krb5/internal/ccache/Credentials;)V
67: aload 10
invokevirtual sun.security.krb5.internal.ccache.CredentialsCache.save:()V
68: aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.password:[C
ifnonnull 73
69: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "New ticket is stored in cache file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
70: aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.cachename:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
71: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
72: goto 74
73: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
getfield sun.security.krb5.internal.tools.KinitOptions.password:[C
bipush 48
invokestatic java.util.Arrays.fill:([CC)V
74: StackMap locals:
StackMap stack:
aload 4
ifnull 76
75: aload 4
bipush 48
invokestatic java.util.Arrays.fill:([CC)V
76: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.security.krb5.internal.tools.Kinit.options:Lsun/security/krb5/internal/tools/KinitOptions;
77: return
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 78 0 this Lsun/security/krb5/internal/tools/Kinit;
1 78 1 princName Ljava/lang/String;
2 78 2 principal Lsun/security/krb5/PrincipalName;
22 23 3 builder Lsun/security/krb5/KrbAsReqBuilder;
39 78 3 builder Lsun/security/krb5/KrbAsReqBuilder;
7 78 4 psswd [C
8 78 5 useKeytab Z
30 39 6 ktabName Ljava/lang/String;
40 78 6 opt Lsun/security/krb5/internal/KDCOptions;
44 78 7 realm Ljava/lang/String;
49 78 8 sname Lsun/security/krb5/PrincipalName;
59 78 9 credentials Lsun/security/krb5/internal/ccache/Credentials;
62 78 10 cache Lsun/security/krb5/internal/ccache/CredentialsCache;
Exceptions:
throws java.io.IOException, sun.security.krb5.RealmException, sun.security.krb5.KrbException
private static void setOptions(int, int, sun.security.krb5.internal.KDCOptions);
descriptor: (IILsun/security/krb5/internal/KDCOptions;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
tableswitch { // -1 - 1
-1: 2
0: 1
1: 4
default: 5
}
1: StackMap locals:
StackMap stack:
goto 5
2: StackMap locals:
StackMap stack:
aload 2
iload 0
iconst_0
invokevirtual sun.security.krb5.internal.KDCOptions.set:(IZ)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 2
iload 0
iconst_1
invokevirtual sun.security.krb5.internal.KDCOptions.set:(IZ)V
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 flag I
0 6 1 option I
0 6 2 opt Lsun/security/krb5/internal/KDCOptions;
MethodParameters:
Name Flags
flag
option
opt
}
SourceFile: "Kinit.java"