public class sun.security.ssl.krb5.Krb5ProxyImpl implements sun.security.ssl.Krb5Proxy
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.ssl.krb5.Krb5ProxyImpl
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/krb5/Krb5ProxyImpl;
public javax.security.auth.Subject getClientSubject(java.security.AccessControlContext);
descriptor: (Ljava/security/AccessControlContext;)Ljavax/security/auth/Subject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.jgss.GSSCaller.CALLER_SSL_CLIENT:Lsun/security/jgss/GSSCaller;
aload 1
invokestatic sun.security.jgss.krb5.Krb5Util.getSubject:(Lsun/security/jgss/GSSCaller;Ljava/security/AccessControlContext;)Ljavax/security/auth/Subject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/krb5/Krb5ProxyImpl;
0 1 1 acc Ljava/security/AccessControlContext;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
acc
public javax.security.auth.Subject getServerSubject(java.security.AccessControlContext);
descriptor: (Ljava/security/AccessControlContext;)Ljavax/security/auth/Subject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.jgss.GSSCaller.CALLER_SSL_SERVER:Lsun/security/jgss/GSSCaller;
aload 1
invokestatic sun.security.jgss.krb5.Krb5Util.getSubject:(Lsun/security/jgss/GSSCaller;Ljava/security/AccessControlContext;)Ljavax/security/auth/Subject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/krb5/Krb5ProxyImpl;
0 1 1 acc Ljava/security/AccessControlContext;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
acc
public java.lang.Object getServiceCreds(java.security.AccessControlContext);
descriptor: (Ljava/security/AccessControlContext;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.security.jgss.GSSCaller.CALLER_SSL_SERVER:Lsun/security/jgss/GSSCaller;
aconst_null
aload 1
invokestatic sun.security.jgss.krb5.Krb5Util.getServiceCreds:(Lsun/security/jgss/GSSCaller;Ljava/lang/String;Ljava/security/AccessControlContext;)Lsun/security/jgss/krb5/ServiceCreds;
1: astore 2
start local 2 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/ssl/krb5/Krb5ProxyImpl;
0 3 1 acc Ljava/security/AccessControlContext;
2 3 2 serviceCreds Lsun/security/jgss/krb5/ServiceCreds;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
acc
public java.lang.String getServerPrincipalName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast sun.security.jgss.krb5.ServiceCreds
invokevirtual sun.security.jgss.krb5.ServiceCreds.getName:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/krb5/Krb5ProxyImpl;
0 1 1 serviceCreds Ljava/lang/Object;
MethodParameters:
Name Flags
serviceCreds
public java.lang.String getPrincipalHostName(java.security.Principal);
descriptor: (Ljava/security/Principal;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 3: new sun.security.krb5.PrincipalName
dup
aload 1
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
4: iconst_3
5: invokespecial sun.security.krb5.PrincipalName.<init>:(Ljava/lang/String;I)V
6: astore 3
start local 3 7: aload 3
invokevirtual sun.security.krb5.PrincipalName.getNameStrings:()[Ljava/lang/String;
astore 4
start local 4 8: aload 4
arraylength
iconst_2
if_icmplt 12
9: aload 4
iconst_1
aaload
astore 2
end local 4 end local 3 10: goto 12
StackMap locals: sun.security.ssl.krb5.Krb5ProxyImpl java.security.Principal java.lang.String
StackMap stack: java.lang.Exception
11: pop
12: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/ssl/krb5/Krb5ProxyImpl;
0 13 1 principal Ljava/security/Principal;
3 13 2 hostName Ljava/lang/String;
7 10 3 princName Lsun/security/krb5/PrincipalName;
8 10 4 nameParts [Ljava/lang/String;
Exception table:
from to target type
3 10 11 Class java.lang.Exception
MethodParameters:
Name Flags
principal
public java.security.Permission getServicePermission(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new javax.security.auth.kerberos.ServicePermission
dup
aload 1
aload 2
invokespecial javax.security.auth.kerberos.ServicePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/krb5/Krb5ProxyImpl;
0 1 1 principalName Ljava/lang/String;
0 1 2 action Ljava/lang/String;
MethodParameters:
Name Flags
principalName
action
public boolean isRelated(javax.security.auth.Subject, java.security.Principal);
descriptor: (Ljavax/security/auth/Subject;Ljava/security/Principal;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/security/Principal;
invokevirtual javax.security.auth.Subject.getPrincipals:(Ljava/lang/Class;)Ljava/util/Set;
2: astore 3
start local 3 3: aload 3
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals: java.util.Set
StackMap stack:
aload 1
ldc Ljavax/security/auth/kerberos/KeyTab;
invokevirtual javax.security.auth.Subject.getPrivateCredentials:(Ljava/lang/Class;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: sun.security.ssl.krb5.Krb5ProxyImpl javax.security.auth.Subject java.security.Principal java.util.Set top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.security.auth.kerberos.KeyTab
astore 4
start local 4 7: aload 4
invokevirtual javax.security.auth.kerberos.KeyTab.isBound:()Z
ifne 9
8: iconst_1
ireturn
end local 4 9: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
10: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/krb5/Krb5ProxyImpl;
0 11 1 subject Ljavax/security/auth/Subject;
0 11 2 princ Ljava/security/Principal;
3 11 3 principals Ljava/util/Set<Ljava/security/Principal;>;
7 9 4 pc Ljavax/security/auth/kerberos/KeyTab;
MethodParameters:
Name Flags
subject
princ
}
SourceFile: "Krb5ProxyImpl.java"