public final class sun.security.jgss.spnego.SpNegoMechFactory implements sun.security.jgss.spi.MechanismFactory
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.jgss.spnego.SpNegoMechFactory
super_class: java.lang.Object
{
static final java.security.Provider PROVIDER;
descriptor: Ljava/security/Provider;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final org.ietf.jgss.Oid GSS_SPNEGO_MECH_OID;
descriptor: Lorg/ietf/jgss/Oid;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static org.ietf.jgss.Oid[] nameTypes;
descriptor: [Lorg/ietf/jgss/Oid;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final org.ietf.jgss.Oid DEFAULT_SPNEGO_MECH_OID;
descriptor: Lorg/ietf/jgss/Oid;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
final sun.security.jgss.GSSManagerImpl manager;
descriptor: Lsun/security/jgss/GSSManagerImpl;
flags: (0x0010) ACC_FINAL
final org.ietf.jgss.Oid[] availableMechs;
descriptor: [Lorg/ietf/jgss/Oid;
flags: (0x0010) ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new sun.security.jgss.SunProvider
dup
invokespecial sun.security.jgss.SunProvider.<init>:()V
1: putstatic sun.security.jgss.spnego.SpNegoMechFactory.PROVIDER:Ljava/security/Provider;
2: ldc "1.3.6.1.5.5.2"
invokestatic sun.security.jgss.GSSUtil.createOid:(Ljava/lang/String;)Lorg/ietf/jgss/Oid;
3: putstatic sun.security.jgss.spnego.SpNegoMechFactory.GSS_SPNEGO_MECH_OID:Lorg/ietf/jgss/Oid;
4: iconst_3
anewarray org.ietf.jgss.Oid
dup
iconst_0
getstatic org.ietf.jgss.GSSName.NT_USER_NAME:Lorg/ietf/jgss/Oid;
aastore
dup
iconst_1
5: getstatic org.ietf.jgss.GSSName.NT_HOSTBASED_SERVICE:Lorg/ietf/jgss/Oid;
aastore
dup
iconst_2
6: getstatic org.ietf.jgss.GSSName.NT_EXPORT_NAME:Lorg/ietf/jgss/Oid;
aastore
7: putstatic sun.security.jgss.spnego.SpNegoMechFactory.nameTypes:[Lorg/ietf/jgss/Oid;
8: getstatic sun.security.jgss.ProviderList.DEFAULT_MECH_OID:Lorg/ietf/jgss/Oid;
getstatic sun.security.jgss.spnego.SpNegoMechFactory.GSS_SPNEGO_MECH_OID:Lorg/ietf/jgss/Oid;
invokevirtual org.ietf.jgss.Oid.equals:(Ljava/lang/Object;)Z
ifeq 10
9: getstatic sun.security.jgss.GSSUtil.GSS_KRB5_MECH_OID:Lorg/ietf/jgss/Oid;
goto 11
10: StackMap locals:
StackMap stack:
getstatic sun.security.jgss.ProviderList.DEFAULT_MECH_OID:Lorg/ietf/jgss/Oid;
11: StackMap locals:
StackMap stack: org.ietf.jgss.Oid
putstatic sun.security.jgss.spnego.SpNegoMechFactory.DEFAULT_SPNEGO_MECH_OID:Lorg/ietf/jgss/Oid;
12: return
LocalVariableTable:
Start End Slot Name Signature
private static sun.security.jgss.spnego.SpNegoCredElement getCredFromSubject(sun.security.jgss.spi.GSSNameSpi, boolean);
descriptor: (Lsun/security/jgss/spi/GSSNameSpi;Z)Lsun/security/jgss/spnego/SpNegoCredElement;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getstatic sun.security.jgss.spnego.SpNegoMechFactory.GSS_SPNEGO_MECH_OID:Lorg/ietf/jgss/Oid;
1: iload 1
ldc Lsun/security/jgss/spnego/SpNegoCredElement;
2: invokestatic sun.security.jgss.GSSUtil.searchSubject:(Lsun/security/jgss/spi/GSSNameSpi;Lorg/ietf/jgss/Oid;ZLjava/lang/Class;)Ljava/util/Vector;
3: astore 2
start local 2 4: aload 2
ifnull 5
aload 2
invokevirtual java.util.Vector.isEmpty:()Z
ifeq 6
5: StackMap locals: java.util.Vector
StackMap stack:
aconst_null
goto 7
StackMap locals:
StackMap stack:
6: aload 2
invokevirtual java.util.Vector.firstElement:()Ljava/lang/Object;
checkcast sun.security.jgss.spnego.SpNegoCredElement
7: StackMap locals:
StackMap stack: sun.security.jgss.spnego.SpNegoCredElement
astore 3
start local 3 8: aload 3
ifnull 19
9: aload 3
invokevirtual sun.security.jgss.spnego.SpNegoCredElement.getInternalCred:()Lsun/security/jgss/spi/GSSCredentialSpi;
astore 4
start local 4 10: aload 4
invokeinterface sun.security.jgss.spi.GSSCredentialSpi.getMechanism:()Lorg/ietf/jgss/Oid;
invokestatic sun.security.jgss.GSSUtil.isKerberosMech:(Lorg/ietf/jgss/Oid;)Z
ifeq 19
11: iload 1
ifeq 16
12: aload 4
checkcast sun.security.jgss.krb5.Krb5InitCredential
astore 5
start local 5 13: aload 5
invokevirtual sun.security.jgss.krb5.Krb5InitCredential.getName:()Lsun/security/jgss/spi/GSSNameSpi;
checkcast sun.security.jgss.krb5.Krb5NameElement
14: invokestatic sun.security.jgss.krb5.Krb5MechFactory.checkInitCredPermission:(Lsun/security/jgss/krb5/Krb5NameElement;)V
end local 5 15: goto 19
16: StackMap locals: sun.security.jgss.spnego.SpNegoCredElement sun.security.jgss.spi.GSSCredentialSpi
StackMap stack:
aload 4
checkcast sun.security.jgss.krb5.Krb5AcceptCredential
astore 5
start local 5 17: aload 5
invokevirtual sun.security.jgss.krb5.Krb5AcceptCredential.getName:()Lsun/security/jgss/spi/GSSNameSpi;
checkcast sun.security.jgss.krb5.Krb5NameElement
aload 0
18: invokestatic sun.security.jgss.krb5.Krb5MechFactory.checkAcceptCredPermission:(Lsun/security/jgss/krb5/Krb5NameElement;Lsun/security/jgss/spi/GSSNameSpi;)V
end local 5 end local 4 19: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 name Lsun/security/jgss/spi/GSSNameSpi;
0 20 1 initiate Z
4 20 2 creds Ljava/util/Vector<Lsun/security/jgss/spnego/SpNegoCredElement;>;
8 20 3 result Lsun/security/jgss/spnego/SpNegoCredElement;
10 19 4 cred Lsun/security/jgss/spi/GSSCredentialSpi;
13 15 5 krbCred Lsun/security/jgss/krb5/Krb5InitCredential;
17 19 5 krbCred Lsun/security/jgss/krb5/Krb5AcceptCredential;
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
name
initiate
public void <init>(sun.security.jgss.GSSCaller);
descriptor: (Lsun/security/jgss/GSSCaller;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new sun.security.jgss.GSSManagerImpl
dup
aload 1
iconst_0
invokespecial sun.security.jgss.GSSManagerImpl.<init>:(Lsun/security/jgss/GSSCaller;Z)V
putfield sun.security.jgss.spnego.SpNegoMechFactory.manager:Lsun/security/jgss/GSSManagerImpl;
2: aload 0
getfield sun.security.jgss.spnego.SpNegoMechFactory.manager:Lsun/security/jgss/GSSManagerImpl;
invokevirtual sun.security.jgss.GSSManagerImpl.getMechs:()[Lorg/ietf/jgss/Oid;
astore 2
start local 2 3: aload 0
aload 2
arraylength
iconst_1
isub
anewarray org.ietf.jgss.Oid
putfield sun.security.jgss.spnego.SpNegoMechFactory.availableMechs:[Lorg/ietf/jgss/Oid;
4: iconst_0
istore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 10
7: StackMap locals: sun.security.jgss.spnego.SpNegoMechFactory sun.security.jgss.GSSCaller org.ietf.jgss.Oid[] int int
StackMap stack:
aload 2
iload 3
aaload
getstatic sun.security.jgss.spnego.SpNegoMechFactory.GSS_SPNEGO_MECH_OID:Lorg/ietf/jgss/Oid;
invokevirtual org.ietf.jgss.Oid.equals:(Ljava/lang/Object;)Z
ifne 9
8: aload 0
getfield sun.security.jgss.spnego.SpNegoMechFactory.availableMechs:[Lorg/ietf/jgss/Oid;
iload 4
iinc 4 1
aload 2
iload 3
aaload
aastore
9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 2
arraylength
if_icmplt 7
end local 4 end local 3 11: iconst_0
istore 3
start local 3 12: goto 19
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.jgss.spnego.SpNegoMechFactory.availableMechs:[Lorg/ietf/jgss/Oid;
iload 3
aaload
getstatic sun.security.jgss.spnego.SpNegoMechFactory.DEFAULT_SPNEGO_MECH_OID:Lorg/ietf/jgss/Oid;
invokevirtual org.ietf.jgss.Oid.equals:(Ljava/lang/Object;)Z
ifeq 18
14: iload 3
ifeq 20
15: aload 0
getfield sun.security.jgss.spnego.SpNegoMechFactory.availableMechs:[Lorg/ietf/jgss/Oid;
iload 3
aload 0
getfield sun.security.jgss.spnego.SpNegoMechFactory.availableMechs:[Lorg/ietf/jgss/Oid;
iconst_0
aaload
aastore
16: aload 0
getfield sun.security.jgss.spnego.SpNegoMechFactory.availableMechs:[Lorg/ietf/jgss/Oid;
iconst_0
getstatic sun.security.jgss.spnego.SpNegoMechFactory.DEFAULT_SPNEGO_MECH_OID:Lorg/ietf/jgss/Oid;
aastore
17: goto 20
18: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
19: iload 3
aload 0
getfield sun.security.jgss.spnego.SpNegoMechFactory.availableMechs:[Lorg/ietf/jgss/Oid;
arraylength
if_icmplt 13
end local 3 20: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/security/jgss/spnego/SpNegoMechFactory;
0 21 1 caller Lsun/security/jgss/GSSCaller;
3 21 2 mechs [Lorg/ietf/jgss/Oid;
5 11 3 i I
6 11 4 j I
12 20 3 i I
MethodParameters:
Name Flags
caller
public sun.security.jgss.spi.GSSNameSpi getNameElement(java.lang.String, org.ietf.jgss.Oid);
descriptor: (Ljava/lang/String;Lorg/ietf/jgss/Oid;)Lsun/security/jgss/spi/GSSNameSpi;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.jgss.spnego.SpNegoMechFactory.manager:Lsun/security/jgss/GSSManagerImpl;
1: aload 1
aload 2
getstatic sun.security.jgss.spnego.SpNegoMechFactory.DEFAULT_SPNEGO_MECH_OID:Lorg/ietf/jgss/Oid;
2: invokevirtual sun.security.jgss.GSSManagerImpl.getNameElement:(Ljava/lang/String;Lorg/ietf/jgss/Oid;Lorg/ietf/jgss/Oid;)Lsun/security/jgss/spi/GSSNameSpi;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/jgss/spnego/SpNegoMechFactory;
0 3 1 nameStr Ljava/lang/String;
0 3 2 nameType Lorg/ietf/jgss/Oid;
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
nameStr
nameType
public sun.security.jgss.spi.GSSNameSpi getNameElement(byte[], org.ietf.jgss.Oid);
descriptor: ([BLorg/ietf/jgss/Oid;)Lsun/security/jgss/spi/GSSNameSpi;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.jgss.spnego.SpNegoMechFactory.manager:Lsun/security/jgss/GSSManagerImpl;
aload 1
aload 2
getstatic sun.security.jgss.spnego.SpNegoMechFactory.DEFAULT_SPNEGO_MECH_OID:Lorg/ietf/jgss/Oid;
invokevirtual sun.security.jgss.GSSManagerImpl.getNameElement:([BLorg/ietf/jgss/Oid;Lorg/ietf/jgss/Oid;)Lsun/security/jgss/spi/GSSNameSpi;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jgss/spnego/SpNegoMechFactory;
0 1 1 name [B
0 1 2 nameType Lorg/ietf/jgss/Oid;
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
name
nameType
public sun.security.jgss.spi.GSSCredentialSpi getCredentialElement(sun.security.jgss.spi.GSSNameSpi, int, int, int);
descriptor: (Lsun/security/jgss/spi/GSSNameSpi;III)Lsun/security/jgss/spi/GSSCredentialSpi;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
iload 4
iconst_2
if_icmpeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack: sun.security.jgss.spi.GSSNameSpi
1: iconst_0
2: StackMap locals: sun.security.jgss.spnego.SpNegoMechFactory sun.security.jgss.spi.GSSNameSpi int int int
StackMap stack: sun.security.jgss.spi.GSSNameSpi int
invokestatic sun.security.jgss.spnego.SpNegoMechFactory.getCredFromSubject:(Lsun/security/jgss/spi/GSSNameSpi;Z)Lsun/security/jgss/spnego/SpNegoCredElement;
astore 5
start local 5 3: aload 5
ifnonnull 9
4: new sun.security.jgss.spnego.SpNegoCredElement
dup
5: aload 0
getfield sun.security.jgss.spnego.SpNegoMechFactory.manager:Lsun/security/jgss/GSSManagerImpl;
aload 1
iload 2
6: iload 3
aconst_null
iload 4
7: invokevirtual sun.security.jgss.GSSManagerImpl.getCredentialElement:(Lsun/security/jgss/spi/GSSNameSpi;IILorg/ietf/jgss/Oid;I)Lsun/security/jgss/spi/GSSCredentialSpi;
8: invokespecial sun.security.jgss.spnego.SpNegoCredElement.<init>:(Lsun/security/jgss/spi/GSSCredentialSpi;)V
astore 5
9: StackMap locals: sun.security.jgss.spnego.SpNegoCredElement
StackMap stack:
aload 5
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 this Lsun/security/jgss/spnego/SpNegoMechFactory;
0 10 1 name Lsun/security/jgss/spi/GSSNameSpi;
0 10 2 initLifetime I
0 10 3 acceptLifetime I
0 10 4 usage I
3 10 5 credElement Lsun/security/jgss/spnego/SpNegoCredElement;
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
name
initLifetime
acceptLifetime
usage
public sun.security.jgss.spi.GSSContextSpi getMechanismContext(sun.security.jgss.spi.GSSNameSpi, sun.security.jgss.spi.GSSCredentialSpi, int);
descriptor: (Lsun/security/jgss/spi/GSSNameSpi;Lsun/security/jgss/spi/GSSCredentialSpi;I)Lsun/security/jgss/spi/GSSContextSpi;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 3
1: aconst_null
iconst_1
invokestatic sun.security.jgss.spnego.SpNegoMechFactory.getCredFromSubject:(Lsun/security/jgss/spi/GSSNameSpi;Z)Lsun/security/jgss/spnego/SpNegoCredElement;
astore 2
2: goto 6
StackMap locals:
StackMap stack:
3: aload 2
instanceof sun.security.jgss.spnego.SpNegoCredElement
ifne 6
4: new sun.security.jgss.spnego.SpNegoCredElement
dup
aload 2
invokespecial sun.security.jgss.spnego.SpNegoCredElement.<init>:(Lsun/security/jgss/spi/GSSCredentialSpi;)V
astore 4
start local 4 5: new sun.security.jgss.spnego.SpNegoContext
dup
aload 0
aload 1
aload 4
iload 3
invokespecial sun.security.jgss.spnego.SpNegoContext.<init>:(Lsun/security/jgss/spnego/SpNegoMechFactory;Lsun/security/jgss/spi/GSSNameSpi;Lsun/security/jgss/spi/GSSCredentialSpi;I)V
areturn
end local 4 6: StackMap locals:
StackMap stack:
new sun.security.jgss.spnego.SpNegoContext
dup
aload 0
aload 1
aload 2
iload 3
invokespecial sun.security.jgss.spnego.SpNegoContext.<init>:(Lsun/security/jgss/spnego/SpNegoMechFactory;Lsun/security/jgss/spi/GSSNameSpi;Lsun/security/jgss/spi/GSSCredentialSpi;I)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/jgss/spnego/SpNegoMechFactory;
0 7 1 peer Lsun/security/jgss/spi/GSSNameSpi;
0 7 2 myInitiatorCred Lsun/security/jgss/spi/GSSCredentialSpi;
0 7 3 lifetime I
5 6 4 cred Lsun/security/jgss/spnego/SpNegoCredElement;
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
peer
myInitiatorCred
lifetime
public sun.security.jgss.spi.GSSContextSpi getMechanismContext(sun.security.jgss.spi.GSSCredentialSpi);
descriptor: (Lsun/security/jgss/spi/GSSCredentialSpi;)Lsun/security/jgss/spi/GSSContextSpi;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aconst_null
iconst_0
invokestatic sun.security.jgss.spnego.SpNegoMechFactory.getCredFromSubject:(Lsun/security/jgss/spi/GSSNameSpi;Z)Lsun/security/jgss/spnego/SpNegoCredElement;
astore 1
2: goto 6
StackMap locals:
StackMap stack:
3: aload 1
instanceof sun.security.jgss.spnego.SpNegoCredElement
ifne 6
4: new sun.security.jgss.spnego.SpNegoCredElement
dup
aload 1
invokespecial sun.security.jgss.spnego.SpNegoCredElement.<init>:(Lsun/security/jgss/spi/GSSCredentialSpi;)V
astore 2
start local 2 5: new sun.security.jgss.spnego.SpNegoContext
dup
aload 0
aload 2
invokespecial sun.security.jgss.spnego.SpNegoContext.<init>:(Lsun/security/jgss/spnego/SpNegoMechFactory;Lsun/security/jgss/spi/GSSCredentialSpi;)V
areturn
end local 2 6: StackMap locals:
StackMap stack:
new sun.security.jgss.spnego.SpNegoContext
dup
aload 0
aload 1
invokespecial sun.security.jgss.spnego.SpNegoContext.<init>:(Lsun/security/jgss/spnego/SpNegoMechFactory;Lsun/security/jgss/spi/GSSCredentialSpi;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/jgss/spnego/SpNegoMechFactory;
0 7 1 myAcceptorCred Lsun/security/jgss/spi/GSSCredentialSpi;
5 6 2 cred Lsun/security/jgss/spnego/SpNegoCredElement;
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
myAcceptorCred
public sun.security.jgss.spi.GSSContextSpi getMechanismContext(byte[]);
descriptor: ([B)Lsun/security/jgss/spi/GSSContextSpi;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new sun.security.jgss.spnego.SpNegoContext
dup
aload 0
aload 1
invokespecial sun.security.jgss.spnego.SpNegoContext.<init>:(Lsun/security/jgss/spnego/SpNegoMechFactory;[B)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jgss/spnego/SpNegoMechFactory;
0 1 1 exportedContext [B
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
exportedContext
public final org.ietf.jgss.Oid getMechanismOid();
descriptor: ()Lorg/ietf/jgss/Oid;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic sun.security.jgss.spnego.SpNegoMechFactory.GSS_SPNEGO_MECH_OID:Lorg/ietf/jgss/Oid;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jgss/spnego/SpNegoMechFactory;
public java.security.Provider getProvider();
descriptor: ()Ljava/security/Provider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic sun.security.jgss.spnego.SpNegoMechFactory.PROVIDER:Ljava/security/Provider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jgss/spnego/SpNegoMechFactory;
public org.ietf.jgss.Oid[] getNameTypes();
descriptor: ()[Lorg/ietf/jgss/Oid;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic sun.security.jgss.spnego.SpNegoMechFactory.nameTypes:[Lorg/ietf/jgss/Oid;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jgss/spnego/SpNegoMechFactory;
}
SourceFile: "SpNegoMechFactory.java"