public final class sun.security.jgss.ProviderList
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.jgss.ProviderList
super_class: java.lang.Object
{
private static final java.lang.String PROV_PROP_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "GssApiMechanism."
private static final int PROV_PROP_PREFIX_LEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String SPI_MECH_FACTORY_TYPE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sun.security.jgss.spi.MechanismFactory"
private static final java.lang.String DEFAULT_MECH_PROP;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sun.security.jgss.mechanism"
public static final org.ietf.jgss.Oid DEFAULT_MECH_OID;
descriptor: Lorg/ietf/jgss/Oid;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private java.util.ArrayList<sun.security.jgss.ProviderList$PreferencesEntry> preferences;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lsun/security/jgss/ProviderList$PreferencesEntry;>;
private java.util.HashMap<sun.security.jgss.ProviderList$PreferencesEntry, sun.security.jgss.spi.MechanismFactory> factories;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Lsun/security/jgss/ProviderList$PreferencesEntry;Lsun/security/jgss/spi/MechanismFactory;>;
private java.util.HashSet<org.ietf.jgss.Oid> mechs;
descriptor: Ljava/util/HashSet;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashSet<Lorg/ietf/jgss/Oid;>;
private final sun.security.jgss.GSSCaller caller;
descriptor: Lsun/security/jgss/GSSCaller;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: ldc "GssApiMechanism."
invokevirtual java.lang.String.length:()I
1: putstatic sun.security.jgss.ProviderList.PROV_PROP_PREFIX_LEN:I
2: aconst_null
astore 0
start local 0 3: new sun.security.action.GetPropertyAction
dup
ldc "sun.security.jgss.mechanism"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 5: aload 1
ifnull 7
6: aload 1
invokestatic sun.security.jgss.GSSUtil.createOid:(Ljava/lang/String;)Lorg/ietf/jgss/Oid;
astore 0
7: StackMap locals: org.ietf.jgss.Oid java.lang.String
StackMap stack:
aload 0
ifnonnull 8
getstatic sun.security.jgss.GSSUtil.GSS_KRB5_MECH_OID:Lorg/ietf/jgss/Oid;
goto 9
StackMap locals:
StackMap stack:
8: aload 0
9: StackMap locals:
StackMap stack: org.ietf.jgss.Oid
putstatic sun.security.jgss.ProviderList.DEFAULT_MECH_OID:Lorg/ietf/jgss/Oid;
end local 1 end local 0 10: return
LocalVariableTable:
Start End Slot Name Signature
3 10 0 defOid Lorg/ietf/jgss/Oid;
5 10 1 defaultOidStr Ljava/lang/String;
public void <init>(sun.security.jgss.GSSCaller, boolean);
descriptor: (Lsun/security/jgss/GSSCaller;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
putfield sun.security.jgss.ProviderList.preferences:Ljava/util/ArrayList;
3: aload 0
4: new java.util.HashMap
dup
iconst_5
invokespecial java.util.HashMap.<init>:(I)V
putfield sun.security.jgss.ProviderList.factories:Ljava/util/HashMap;
5: aload 0
new java.util.HashSet
dup
iconst_5
invokespecial java.util.HashSet.<init>:(I)V
putfield sun.security.jgss.ProviderList.mechs:Ljava/util/HashSet;
6: aload 0
aload 1
putfield sun.security.jgss.ProviderList.caller:Lsun/security/jgss/GSSCaller;
7: iload 2
ifeq 11
8: iconst_1
anewarray java.security.Provider
astore 3
start local 3 9: aload 3
iconst_0
new sun.security.jgss.wrapper.SunNativeProvider
dup
invokespecial sun.security.jgss.wrapper.SunNativeProvider.<init>:()V
aastore
10: goto 12
end local 3 11: StackMap locals: sun.security.jgss.ProviderList sun.security.jgss.GSSCaller int
StackMap stack:
invokestatic java.security.Security.getProviders:()[Ljava/security/Provider;
astore 3
start local 3 12: StackMap locals: java.security.Provider[]
StackMap stack:
iconst_0
istore 4
start local 4 13: goto 22
14: StackMap locals: int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 15: aload 0
aload 5
aconst_null
invokevirtual sun.security.jgss.ProviderList.addProviderAtEnd:(Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
16: goto 21
StackMap locals: sun.security.jgss.ProviderList sun.security.jgss.GSSCaller int java.security.Provider[] int java.security.Provider
StackMap stack: org.ietf.jgss.GSSException
17: astore 6
start local 6 18: new java.lang.StringBuilder
dup
ldc "Error in adding provider "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: aload 5
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.security.jgss.GSSUtil.debug:(Ljava/lang/String;)V
end local 6 end local 5 21: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
22: iload 4
aload 3
arraylength
if_icmplt 14
end local 4 23: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/security/jgss/ProviderList;
0 24 1 caller Lsun/security/jgss/GSSCaller;
0 24 2 useNative Z
9 11 3 provList [Ljava/security/Provider;
12 24 3 provList [Ljava/security/Provider;
13 23 4 i I
15 21 5 prov Ljava/security/Provider;
18 21 6 ge Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
15 16 17 Class org.ietf.jgss.GSSException
MethodParameters:
Name Flags
caller
useNative
private boolean isMechFactoryProperty(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "GssApiMechanism."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 7
1: aload 1
iconst_1
iconst_0
2: ldc "GssApiMechanism."
iconst_0
3: getstatic sun.security.jgss.ProviderList.PROV_PROP_PREFIX_LEN:I
4: invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
5: ifne 7
6: iconst_0
ireturn
StackMap locals:
StackMap stack:
7: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/jgss/ProviderList;
0 8 1 prop Ljava/lang/String;
MethodParameters:
Name Flags
prop
private org.ietf.jgss.Oid getOidFromMechFactoryProperty(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/ietf/jgss/Oid;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic sun.security.jgss.ProviderList.PROV_PROP_PREFIX_LEN:I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
start local 2 1: new org.ietf.jgss.Oid
dup
aload 2
invokespecial org.ietf.jgss.Oid.<init>:(Ljava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/jgss/ProviderList;
0 2 1 prop Ljava/lang/String;
1 2 2 oidPart Ljava/lang/String;
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
prop
public synchronized sun.security.jgss.spi.MechanismFactory getMechFactory(org.ietf.jgss.Oid);
descriptor: (Lorg/ietf/jgss/Oid;)Lsun/security/jgss/spi/MechanismFactory;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
getstatic sun.security.jgss.ProviderList.DEFAULT_MECH_OID:Lorg/ietf/jgss/Oid;
astore 1
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aconst_null
invokevirtual sun.security.jgss.ProviderList.getMechFactory:(Lorg/ietf/jgss/Oid;Ljava/security/Provider;)Lsun/security/jgss/spi/MechanismFactory;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/jgss/ProviderList;
0 2 1 mechOid Lorg/ietf/jgss/Oid;
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
mechOid
public synchronized sun.security.jgss.spi.MechanismFactory getMechFactory(org.ietf.jgss.Oid, java.security.Provider);
descriptor: (Lorg/ietf/jgss/Oid;Ljava/security/Provider;)Lsun/security/jgss/spi/MechanismFactory;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 1
getstatic sun.security.jgss.ProviderList.DEFAULT_MECH_OID:Lorg/ietf/jgss/Oid;
astore 1
1: StackMap locals:
StackMap stack:
aload 2
ifnonnull 10
2: aload 0
getfield sun.security.jgss.ProviderList.preferences:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
start local 4 3: goto 8
4: StackMap locals: sun.security.jgss.ProviderList org.ietf.jgss.Oid java.security.Provider top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.jgss.ProviderList$PreferencesEntry
astore 3
start local 3 5: aload 3
aload 1
invokevirtual sun.security.jgss.ProviderList$PreferencesEntry.impliesMechanism:(Lorg/ietf/jgss/Oid;)Z
ifeq 8
6: aload 0
aload 3
aload 1
invokevirtual sun.security.jgss.ProviderList.getMechFactory:(Lsun/security/jgss/ProviderList$PreferencesEntry;Lorg/ietf/jgss/Oid;)Lsun/security/jgss/spi/MechanismFactory;
astore 5
start local 5 7: aload 5
ifnull 8
aload 5
areturn
end local 5 end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
9: new sun.security.jgss.GSSExceptionImpl
dup
iconst_2
aload 1
invokespecial sun.security.jgss.GSSExceptionImpl.<init>:(ILorg/ietf/jgss/Oid;)V
athrow
end local 4 10: StackMap locals: sun.security.jgss.ProviderList org.ietf.jgss.Oid java.security.Provider
StackMap stack:
new sun.security.jgss.ProviderList$PreferencesEntry
dup
aload 2
aload 1
invokespecial sun.security.jgss.ProviderList$PreferencesEntry.<init>:(Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
astore 3
start local 3 11: aload 0
aload 3
aload 1
invokevirtual sun.security.jgss.ProviderList.getMechFactory:(Lsun/security/jgss/ProviderList$PreferencesEntry;Lorg/ietf/jgss/Oid;)Lsun/security/jgss/spi/MechanismFactory;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/jgss/ProviderList;
0 12 1 mechOid Lorg/ietf/jgss/Oid;
0 12 2 p Ljava/security/Provider;
5 8 3 entry Lsun/security/jgss/ProviderList$PreferencesEntry;
3 10 4 list Ljava/util/Iterator<Lsun/security/jgss/ProviderList$PreferencesEntry;>;
7 8 5 retVal Lsun/security/jgss/spi/MechanismFactory;
11 12 3 entry Lsun/security/jgss/ProviderList$PreferencesEntry;
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
mechOid
p
private sun.security.jgss.spi.MechanismFactory getMechFactory(sun.security.jgss.ProviderList$PreferencesEntry, org.ietf.jgss.Oid);
descriptor: (Lsun/security/jgss/ProviderList$PreferencesEntry;Lorg/ietf/jgss/Oid;)Lsun/security/jgss/spi/MechanismFactory;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual sun.security.jgss.ProviderList$PreferencesEntry.getProvider:()Ljava/security/Provider;
astore 3
start local 3 1: new sun.security.jgss.ProviderList$PreferencesEntry
dup
aload 3
aload 2
invokespecial sun.security.jgss.ProviderList$PreferencesEntry.<init>:(Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
astore 4
start local 4 2: aload 0
getfield sun.security.jgss.ProviderList.factories:Ljava/util/HashMap;
aload 4
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.jgss.spi.MechanismFactory
astore 5
start local 5 3: aload 5
ifnonnull 16
4: new java.lang.StringBuilder
dup
ldc "GssApiMechanism."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual org.ietf.jgss.Oid.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 5: aload 3
aload 6
invokevirtual java.security.Provider.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 6: aload 7
ifnull 10
7: aload 3
aload 7
aload 2
aload 0
getfield sun.security.jgss.ProviderList.caller:Lsun/security/jgss/GSSCaller;
invokestatic sun.security.jgss.ProviderList.getMechFactoryImpl:(Ljava/security/Provider;Ljava/lang/String;Lorg/ietf/jgss/Oid;Lsun/security/jgss/GSSCaller;)Lsun/security/jgss/spi/MechanismFactory;
astore 5
8: aload 0
getfield sun.security.jgss.ProviderList.factories:Ljava/util/HashMap;
aload 4
aload 5
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: goto 16
10: StackMap locals: sun.security.jgss.ProviderList sun.security.jgss.ProviderList$PreferencesEntry org.ietf.jgss.Oid java.security.Provider sun.security.jgss.ProviderList$PreferencesEntry sun.security.jgss.spi.MechanismFactory java.lang.String java.lang.String
StackMap stack:
aload 1
invokevirtual sun.security.jgss.ProviderList$PreferencesEntry.getOid:()Lorg/ietf/jgss/Oid;
ifnull 16
11: new sun.security.jgss.GSSExceptionImpl
dup
iconst_2
12: new java.lang.StringBuilder
dup
ldc "Provider "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: ldc " does not support mechanism "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial sun.security.jgss.GSSExceptionImpl.<init>:(ILjava/lang/String;)V
athrow
end local 7 end local 6 16: StackMap locals:
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 17 0 this Lsun/security/jgss/ProviderList;
0 17 1 e Lsun/security/jgss/ProviderList$PreferencesEntry;
0 17 2 mechOid Lorg/ietf/jgss/Oid;
1 17 3 p Ljava/security/Provider;
2 17 4 searchEntry Lsun/security/jgss/ProviderList$PreferencesEntry;
3 17 5 retVal Lsun/security/jgss/spi/MechanismFactory;
5 16 6 prop Ljava/lang/String;
6 16 7 className Ljava/lang/String;
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
e
mechOid
private static sun.security.jgss.spi.MechanismFactory getMechFactoryImpl(java.security.Provider, java.lang.String, org.ietf.jgss.Oid, sun.security.jgss.GSSCaller);
descriptor: (Ljava/security/Provider;Ljava/lang/String;Lorg/ietf/jgss/Oid;Lsun/security/jgss/GSSCaller;)Lsun/security/jgss/spi/MechanismFactory;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "sun.security.jgss.spi.MechanismFactory"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 4
start local 4 1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 5
start local 5 2: aload 5
ifnull 5
3: aload 5
aload 1
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 6
start local 6 4: goto 6
end local 6 5: StackMap locals: java.lang.Class java.lang.ClassLoader
StackMap stack:
aload 1
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 6
start local 6 6: StackMap locals: java.lang.Class
StackMap stack:
aload 4
aload 6
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 14
7: aload 6
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lsun/security/jgss/GSSCaller;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
8: astore 7
start local 7 9: aload 7
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.jgss.spi.MechanismFactory
astore 8
start local 8 10: aload 8
instanceof sun.security.jgss.wrapper.NativeGSSFactory
ifeq 12
11: aload 8
checkcast sun.security.jgss.wrapper.NativeGSSFactory
aload 2
invokevirtual sun.security.jgss.wrapper.NativeGSSFactory.setMech:(Lorg/ietf/jgss/Oid;)V
12: StackMap locals: java.lang.reflect.Constructor sun.security.jgss.spi.MechanismFactory
StackMap stack:
aload 8
13: areturn
end local 8 end local 7 14: StackMap locals:
StackMap stack:
aload 0
aload 1
ldc "is not a sun.security.jgss.spi.MechanismFactory"
15: aconst_null
16: invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
athrow
end local 6 end local 5 end local 4 17: StackMap locals: java.security.Provider java.lang.String org.ietf.jgss.Oid sun.security.jgss.GSSCaller
StackMap stack: java.lang.ClassNotFoundException
astore 4
start local 4 18: aload 0
aload 1
ldc "cannot be created"
aload 4
invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
athrow
end local 4 19: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
astore 4
start local 4 20: aload 0
aload 1
ldc "cannot be created"
aload 4
invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
athrow
end local 4 21: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 4
start local 4 22: aload 0
aload 1
ldc "cannot be created"
aload 4
invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
athrow
end local 4 23: StackMap locals:
StackMap stack: java.lang.InstantiationException
astore 4
start local 4 24: aload 0
aload 1
ldc "cannot be created"
aload 4
invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
athrow
end local 4 25: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 4
start local 4 26: aload 0
aload 1
ldc "cannot be created"
aload 4
invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
athrow
end local 4 27: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 4
start local 4 28: aload 0
aload 1
ldc "cannot be created"
aload 4
invokestatic sun.security.jgss.ProviderList.createGSSException:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 p Ljava/security/Provider;
0 29 1 className Ljava/lang/String;
0 29 2 mechOid Lorg/ietf/jgss/Oid;
0 29 3 caller Lsun/security/jgss/GSSCaller;
1 17 4 baseClass Ljava/lang/Class<*>;
2 17 5 cl Ljava/lang/ClassLoader;
4 5 6 implClass Ljava/lang/Class<*>;
6 17 6 implClass Ljava/lang/Class<*>;
9 14 7 c Ljava/lang/reflect/Constructor<*>;
10 14 8 mf Lsun/security/jgss/spi/MechanismFactory;
18 19 4 e Ljava/lang/ClassNotFoundException;
20 21 4 e Ljava/lang/NoSuchMethodException;
22 23 4 e Ljava/lang/reflect/InvocationTargetException;
24 25 4 e Ljava/lang/InstantiationException;
26 27 4 e Ljava/lang/IllegalAccessException;
28 29 4 e Ljava/lang/SecurityException;
Exception table:
from to target type
0 13 17 Class java.lang.ClassNotFoundException
14 17 17 Class java.lang.ClassNotFoundException
0 13 19 Class java.lang.NoSuchMethodException
14 17 19 Class java.lang.NoSuchMethodException
0 13 21 Class java.lang.reflect.InvocationTargetException
14 17 21 Class java.lang.reflect.InvocationTargetException
0 13 23 Class java.lang.InstantiationException
14 17 23 Class java.lang.InstantiationException
0 13 25 Class java.lang.IllegalAccessException
14 17 25 Class java.lang.IllegalAccessException
0 13 27 Class java.lang.SecurityException
14 17 27 Class java.lang.SecurityException
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
p
className
mechOid
caller
private static org.ietf.jgss.GSSException createGSSException(java.security.Provider, java.lang.String, java.lang.String, java.lang.Exception);
descriptor: (Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Lorg/ietf/jgss/GSSException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " configured by "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: aload 0
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " for GSS-API Mechanism Factory "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 3: new sun.security.jgss.GSSExceptionImpl
dup
iconst_2
4: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
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;
5: aload 3
6: invokespecial sun.security.jgss.GSSExceptionImpl.<init>:(ILjava/lang/String;Ljava/lang/Exception;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 p Ljava/security/Provider;
0 7 1 className Ljava/lang/String;
0 7 2 trailingMsg Ljava/lang/String;
0 7 3 cause Ljava/lang/Exception;
3 7 4 errClassInfo Ljava/lang/String;
MethodParameters:
Name Flags
p
className
trailingMsg
cause
public org.ietf.jgss.Oid[] getMechs();
descriptor: ()[Lorg/ietf/jgss/Oid;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.jgss.ProviderList.mechs:Ljava/util/HashSet;
iconst_0
anewarray org.ietf.jgss.Oid
invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.ietf.jgss.Oid[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jgss/ProviderList;
public synchronized void addProviderAtFront(java.security.Provider, org.ietf.jgss.Oid);
descriptor: (Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new sun.security.jgss.ProviderList$PreferencesEntry
dup
aload 1
aload 2
invokespecial sun.security.jgss.ProviderList$PreferencesEntry.<init>:(Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
astore 3
start local 3 1: aload 0
getfield sun.security.jgss.ProviderList.preferences:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 6
start local 6 2: goto 6
3: StackMap locals: sun.security.jgss.ProviderList java.security.Provider org.ietf.jgss.Oid sun.security.jgss.ProviderList$PreferencesEntry top top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.jgss.ProviderList$PreferencesEntry
astore 4
start local 4 4: aload 3
aload 4
invokevirtual sun.security.jgss.ProviderList$PreferencesEntry.implies:(Ljava/lang/Object;)Z
ifeq 6
5: aload 6
invokeinterface java.util.Iterator.remove:()V
end local 4 6: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 2
ifnonnull 10
8: aload 0
aload 1
invokevirtual sun.security.jgss.ProviderList.addAllMechsFromProvider:(Ljava/security/Provider;)Z
istore 5
start local 5 9: goto 20
end local 5 10: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.ietf.jgss.Oid.toString:()Ljava/lang/String;
astore 7
start local 7 11: aload 1
new java.lang.StringBuilder
dup
ldc "GssApiMechanism."
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.security.Provider.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ifnonnull 18
12: new sun.security.jgss.GSSExceptionImpl
dup
iconst_2
13: new java.lang.StringBuilder
dup
ldc "Provider "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: ldc " does not support "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial sun.security.jgss.GSSExceptionImpl.<init>:(ILjava/lang/String;)V
athrow
18: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield sun.security.jgss.ProviderList.mechs:Ljava/util/HashSet;
aload 2
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
19: iconst_1
istore 5
end local 7 start local 5 20: StackMap locals: sun.security.jgss.ProviderList java.security.Provider org.ietf.jgss.Oid sun.security.jgss.ProviderList$PreferencesEntry top int java.util.Iterator
StackMap stack:
iload 5
ifeq 22
21: aload 0
getfield sun.security.jgss.ProviderList.preferences:Ljava/util/ArrayList;
iconst_0
aload 3
invokevirtual java.util.ArrayList.add:(ILjava/lang/Object;)V
22: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/jgss/ProviderList;
0 23 1 p Ljava/security/Provider;
0 23 2 mechOid Lorg/ietf/jgss/Oid;
1 23 3 newEntry Lsun/security/jgss/ProviderList$PreferencesEntry;
4 6 4 oldEntry Lsun/security/jgss/ProviderList$PreferencesEntry;
9 10 5 foundSomeMech Z
20 23 5 foundSomeMech Z
2 23 6 list Ljava/util/Iterator<Lsun/security/jgss/ProviderList$PreferencesEntry;>;
11 20 7 oidStr Ljava/lang/String;
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
p
mechOid
public synchronized void addProviderAtEnd(java.security.Provider, org.ietf.jgss.Oid);
descriptor: (Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new sun.security.jgss.ProviderList$PreferencesEntry
dup
aload 1
aload 2
invokespecial sun.security.jgss.ProviderList$PreferencesEntry.<init>:(Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V
astore 3
start local 3 1: aload 0
getfield sun.security.jgss.ProviderList.preferences:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 6
start local 6 2: goto 6
3: StackMap locals: sun.security.jgss.ProviderList java.security.Provider org.ietf.jgss.Oid sun.security.jgss.ProviderList$PreferencesEntry top top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.jgss.ProviderList$PreferencesEntry
astore 4
start local 4 4: aload 4
aload 3
invokevirtual sun.security.jgss.ProviderList$PreferencesEntry.implies:(Ljava/lang/Object;)Z
ifeq 6
5: return
end local 4 6: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 2
ifnonnull 10
8: aload 0
aload 1
invokevirtual sun.security.jgss.ProviderList.addAllMechsFromProvider:(Ljava/security/Provider;)Z
istore 5
start local 5 9: goto 20
end local 5 10: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.ietf.jgss.Oid.toString:()Ljava/lang/String;
astore 7
start local 7 11: aload 1
new java.lang.StringBuilder
dup
ldc "GssApiMechanism."
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.security.Provider.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ifnonnull 18
12: new sun.security.jgss.GSSExceptionImpl
dup
iconst_2
13: new java.lang.StringBuilder
dup
ldc "Provider "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: ldc " does not support "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial sun.security.jgss.GSSExceptionImpl.<init>:(ILjava/lang/String;)V
athrow
18: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield sun.security.jgss.ProviderList.mechs:Ljava/util/HashSet;
aload 2
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
19: iconst_1
istore 5
end local 7 start local 5 20: StackMap locals: sun.security.jgss.ProviderList java.security.Provider org.ietf.jgss.Oid sun.security.jgss.ProviderList$PreferencesEntry top int java.util.Iterator
StackMap stack:
iload 5
ifeq 22
21: aload 0
getfield sun.security.jgss.ProviderList.preferences:Ljava/util/ArrayList;
aload 3
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
22: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/jgss/ProviderList;
0 23 1 p Ljava/security/Provider;
0 23 2 mechOid Lorg/ietf/jgss/Oid;
1 23 3 newEntry Lsun/security/jgss/ProviderList$PreferencesEntry;
4 6 4 oldEntry Lsun/security/jgss/ProviderList$PreferencesEntry;
9 10 5 foundSomeMech Z
20 23 5 foundSomeMech Z
2 23 6 list Ljava/util/Iterator<Lsun/security/jgss/ProviderList$PreferencesEntry;>;
11 20 7 oidStr Ljava/lang/String;
Exceptions:
throws org.ietf.jgss.GSSException
MethodParameters:
Name Flags
p
mechOid
private boolean addAllMechsFromProvider(java.security.Provider);
descriptor: (Ljava/security/Provider;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: iconst_0
istore 3
start local 3 1: aload 1
invokevirtual java.security.Provider.keys:()Ljava/util/Enumeration;
astore 4
start local 4 2: goto 13
3: StackMap locals: sun.security.jgss.ProviderList java.security.Provider top int java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 4: aload 0
aload 2
invokevirtual sun.security.jgss.ProviderList.isMechFactoryProperty:(Ljava/lang/String;)Z
ifeq 13
5: aload 0
aload 2
invokevirtual sun.security.jgss.ProviderList.getOidFromMechFactoryProperty:(Ljava/lang/String;)Lorg/ietf/jgss/Oid;
astore 5
start local 5 6: aload 0
getfield sun.security.jgss.ProviderList.mechs:Ljava/util/HashSet;
aload 5
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
7: iconst_1
istore 3
end local 5 8: goto 13
StackMap locals: sun.security.jgss.ProviderList java.security.Provider java.lang.String int java.util.Enumeration
StackMap stack: org.ietf.jgss.GSSException
9: pop
10: new java.lang.StringBuilder
dup
ldc "Ignore the invalid property "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " from provider "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.security.jgss.GSSUtil.debug:(Ljava/lang/String;)V
end local 2 13: StackMap locals: sun.security.jgss.ProviderList java.security.Provider top int java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 3
14: iload 3
ireturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/jgss/ProviderList;
0 15 1 p Ljava/security/Provider;
4 13 2 prop Ljava/lang/String;
1 15 3 retVal Z
2 15 4 props Ljava/util/Enumeration<Ljava/lang/Object;>;
6 8 5 mechOid Lorg/ietf/jgss/Oid;
Exception table:
from to target type
5 8 9 Class org.ietf.jgss.GSSException
MethodParameters:
Name Flags
p
}
SourceFile: "ProviderList.java"
NestMembers:
sun.security.jgss.ProviderList$PreferencesEntry
InnerClasses:
private final PreferencesEntry = sun.security.jgss.ProviderList$PreferencesEntry of sun.security.jgss.ProviderList