public class javax.security.sasl.Sasl
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.security.sasl.Sasl
super_class: java.lang.Object
{
public static final java.lang.String QOP;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.qop"
public static final java.lang.String STRENGTH;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.strength"
public static final java.lang.String SERVER_AUTH;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.server.authentication"
public static final java.lang.String BOUND_SERVER_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.bound.server.name"
public static final java.lang.String MAX_BUFFER;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.maxbuffer"
public static final java.lang.String RAW_SEND_SIZE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.rawsendsize"
public static final java.lang.String REUSE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.reuse"
public static final java.lang.String POLICY_NOPLAINTEXT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.policy.noplaintext"
public static final java.lang.String POLICY_NOACTIVE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.policy.noactive"
public static final java.lang.String POLICY_NODICTIONARY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.policy.nodictionary"
public static final java.lang.String POLICY_NOANONYMOUS;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.policy.noanonymous"
public static final java.lang.String POLICY_FORWARD_SECRECY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.policy.forward"
public static final java.lang.String POLICY_PASS_CREDENTIALS;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.policy.credentials"
public static final java.lang.String CREDENTIALS;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.sasl.credentials"
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/security/sasl/Sasl;
public static javax.security.sasl.SaslClient createSaslClient(java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, ?>, javax.security.auth.callback.CallbackHandler);
descriptor: ([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslClient;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=17, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 6
start local 6 1: iconst_0
istore 10
start local 10 2: goto 29
3: StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler javax.security.sasl.SaslClient top top top int
StackMap stack:
aload 0
iload 10
aaload
dup
astore 9
start local 9 4: ifnonnull 8
5: new java.lang.NullPointerException
dup
6: ldc "Mechanism name cannot be null"
7: invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler javax.security.sasl.SaslClient top top java.lang.String int
StackMap stack:
aload 9
invokevirtual java.lang.String.length:()I
ifne 10
9: goto 28
10: StackMap locals:
StackMap stack:
ldc "SaslClientFactory"
astore 11
start local 11 11: new java.lang.StringBuilder
dup
aload 11
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;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.security.Security.getProviders:(Ljava/lang/String;)[Ljava/security/Provider;
astore 12
start local 12 12: aload 12
ifnull 28
13: aload 12
dup
astore 16
arraylength
istore 15
iconst_0
istore 14
goto 27
StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler javax.security.sasl.SaslClient top top java.lang.String int java.lang.String java.security.Provider[] top int int java.security.Provider[]
StackMap stack:
14: aload 16
iload 14
aaload
astore 13
start local 13 15: aload 13
aload 11
aload 9
invokevirtual java.security.Provider.getService:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
astore 8
start local 8 16: aload 8
ifnonnull 18
17: goto 26
18: StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler javax.security.sasl.SaslClient top java.security.Provider$Service java.lang.String int java.lang.String java.security.Provider[] java.security.Provider int int java.security.Provider[]
StackMap stack:
aload 8
invokestatic javax.security.sasl.Sasl.loadFactory:(Ljava/security/Provider$Service;)Ljava/lang/Object;
checkcast javax.security.sasl.SaslClientFactory
astore 7
start local 7 19: aload 7
ifnull 26
20: aload 7
21: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 0
iload 10
aaload
aastore
aload 1
22: aload 2
aload 3
aload 4
aload 5
23: invokeinterface javax.security.sasl.SaslClientFactory.createSaslClient:([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslClient;
astore 6
24: aload 6
ifnull 26
25: aload 6
areturn
end local 13 end local 8 end local 7 26: StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler javax.security.sasl.SaslClient top top java.lang.String int java.lang.String java.security.Provider[] top int int java.security.Provider[]
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
27: iload 14
iload 15
if_icmplt 14
end local 12 end local 11 28: StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler javax.security.sasl.SaslClient top top java.lang.String int
StackMap stack:
iinc 10 1
end local 9 StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler javax.security.sasl.SaslClient top top top int
StackMap stack:
29: iload 10
aload 0
arraylength
if_icmplt 3
end local 10 30: aconst_null
areturn
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 31 0 mechanisms [Ljava/lang/String;
0 31 1 authorizationId Ljava/lang/String;
0 31 2 protocol Ljava/lang/String;
0 31 3 serverName Ljava/lang/String;
0 31 4 props Ljava/util/Map<Ljava/lang/String;*>;
0 31 5 cbh Ljavax/security/auth/callback/CallbackHandler;
1 31 6 mech Ljavax/security/sasl/SaslClient;
19 26 7 fac Ljavax/security/sasl/SaslClientFactory;
16 26 8 service Ljava/security/Provider$Service;
4 29 9 mechName Ljava/lang/String;
2 30 10 i I
11 28 11 type Ljava/lang/String;
12 28 12 provs [Ljava/security/Provider;
15 26 13 p Ljava/security/Provider;
Exceptions:
throws javax.security.sasl.SaslException
Signature: ([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslClient;
MethodParameters:
Name Flags
mechanisms
authorizationId
protocol
serverName
props
cbh
private static java.lang.Object loadFactory(java.security.Provider$Service);
descriptor: (Ljava/security/Provider$Service;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual java.security.Provider$Service.newInstance:(Ljava/lang/Object;)Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 3: new javax.security.sasl.SaslException
dup
new java.lang.StringBuilder
dup
ldc "Cannot instantiate service "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokespecial javax.security.sasl.SaslException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 service Ljava/security/Provider$Service;
3 4 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.security.InvalidParameterException
0 1 2 Class java.security.NoSuchAlgorithmException
Exceptions:
throws javax.security.sasl.SaslException
MethodParameters:
Name Flags
service
public static javax.security.sasl.SaslServer createSaslServer(java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, ?>, javax.security.auth.callback.CallbackHandler);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslServer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aload 0
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "Mechanism name cannot be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: javax.security.sasl.SaslServer
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
ifne 5
4: aconst_null
areturn
5: StackMap locals:
StackMap stack:
ldc "SaslServerFactory"
astore 8
start local 8 6: new java.lang.StringBuilder
dup
aload 8
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;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.security.Security.getProviders:(Ljava/lang/String;)[Ljava/security/Provider;
astore 9
start local 9 7: aload 9
ifnull 24
8: aload 9
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 23
StackMap locals: java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler javax.security.sasl.SaslServer top top java.lang.String java.security.Provider[] top int int java.security.Provider[]
StackMap stack:
9: aload 13
iload 11
aaload
astore 10
start local 10 10: aload 10
aload 8
aload 0
invokevirtual java.security.Provider.getService:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
astore 7
start local 7 11: aload 7
ifnonnull 15
12: new javax.security.sasl.SaslException
dup
new java.lang.StringBuilder
dup
ldc "Provider does not support "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial javax.security.sasl.SaslException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler javax.security.sasl.SaslServer top java.security.Provider$Service java.lang.String java.security.Provider[] java.security.Provider int int java.security.Provider[]
StackMap stack:
aload 7
invokestatic javax.security.sasl.Sasl.loadFactory:(Ljava/security/Provider$Service;)Ljava/lang/Object;
checkcast javax.security.sasl.SaslServerFactory
astore 6
start local 6 16: aload 6
ifnull 22
17: aload 6
18: aload 0
aload 1
aload 2
aload 3
aload 4
19: invokeinterface javax.security.sasl.SaslServerFactory.createSaslServer:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslServer;
astore 5
20: aload 5
ifnull 22
21: aload 5
areturn
end local 10 end local 7 end local 6 22: StackMap locals: java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler javax.security.sasl.SaslServer top top java.lang.String java.security.Provider[] top int int java.security.Provider[]
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
23: iload 11
iload 12
if_icmplt 9
24: StackMap locals: java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler javax.security.sasl.SaslServer top top java.lang.String java.security.Provider[]
StackMap stack:
aconst_null
areturn
end local 9 end local 8 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 25 0 mechanism Ljava/lang/String;
0 25 1 protocol Ljava/lang/String;
0 25 2 serverName Ljava/lang/String;
0 25 3 props Ljava/util/Map<Ljava/lang/String;*>;
0 25 4 cbh Ljavax/security/auth/callback/CallbackHandler;
1 25 5 mech Ljavax/security/sasl/SaslServer;
16 22 6 fac Ljavax/security/sasl/SaslServerFactory;
11 22 7 service Ljava/security/Provider$Service;
6 25 8 type Ljava/lang/String;
7 25 9 provs [Ljava/security/Provider;
10 22 10 p Ljava/security/Provider;
Exceptions:
throws javax.security.sasl.SaslException
Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslServer;
MethodParameters:
Name Flags
mechanism
protocol
serverName
props
cbh
public static java.util.Enumeration<javax.security.sasl.SaslClientFactory> getSaslClientFactories();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: ldc "SaslClientFactory"
invokestatic javax.security.sasl.Sasl.getFactories:(Ljava/lang/String;)Ljava/util/Set;
astore 0
start local 0 1: aload 0
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 1
start local 1 2: new javax.security.sasl.Sasl$1
dup
aload 1
invokespecial javax.security.sasl.Sasl$1.<init>:(Ljava/util/Iterator;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 facs Ljava/util/Set<Ljava/lang/Object;>;
2 3 1 iter Ljava/util/Iterator<Ljava/lang/Object;>;
Signature: ()Ljava/util/Enumeration<Ljavax/security/sasl/SaslClientFactory;>;
public static java.util.Enumeration<javax.security.sasl.SaslServerFactory> getSaslServerFactories();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: ldc "SaslServerFactory"
invokestatic javax.security.sasl.Sasl.getFactories:(Ljava/lang/String;)Ljava/util/Set;
astore 0
start local 0 1: aload 0
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 1
start local 1 2: new javax.security.sasl.Sasl$2
dup
aload 1
invokespecial javax.security.sasl.Sasl$2.<init>:(Ljava/util/Iterator;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 facs Ljava/util/Set<Ljava/lang/Object;>;
2 3 1 iter Ljava/util/Iterator<Ljava/lang/Object;>;
Signature: ()Ljava/util/Enumeration<Ljavax/security/sasl/SaslServerFactory;>;
private static java.util.Set<java.lang.Object> getFactories(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Set;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=10, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: aload 0
ifnull 3
aload 0
invokevirtual java.lang.String.length:()I
ifeq 3
2: aload 0
ldc "."
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 4
3: StackMap locals: java.util.HashSet
StackMap stack:
aload 1
areturn
4: StackMap locals:
StackMap stack:
invokestatic java.security.Security.getProviders:()[Ljava/security/Provider;
astore 2
start local 2 5: aload 2
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 18
StackMap locals: java.lang.String java.util.HashSet java.security.Provider[] top top int int java.security.Provider[]
StackMap stack:
6: aload 7
iload 5
aaload
astore 4
start local 4 7: aload 4
invokevirtual java.security.Provider.getServices:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
start local 8 8: goto 16
9: StackMap locals: java.lang.String java.util.HashSet java.security.Provider[] top java.security.Provider int int java.security.Provider[] java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.Provider$Service
astore 9
start local 9 10: aload 9
invokevirtual java.security.Provider$Service.getType:()Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
11: aload 9
invokestatic javax.security.sasl.Sasl.loadFactory:(Ljava/security/Provider$Service;)Ljava/lang/Object;
astore 3
start local 3 12: aload 3
ifnull 16
13: aload 1
aload 3
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
14: goto 16
end local 3 StackMap locals: java.lang.String java.util.HashSet java.security.Provider[] top java.security.Provider int int java.security.Provider[] java.util.Iterator java.security.Provider$Service
StackMap stack: java.lang.Exception
15: pop
end local 9 16: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 8 end local 4 17: iinc 5 1
StackMap locals: java.lang.String java.util.HashSet java.security.Provider[] top top int int java.security.Provider[]
StackMap stack:
18: iload 5
iload 6
if_icmplt 6
19: aload 1
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 serviceName Ljava/lang/String;
1 20 1 result Ljava/util/HashSet<Ljava/lang/Object;>;
5 20 2 provs [Ljava/security/Provider;
12 15 3 fac Ljava/lang/Object;
7 17 4 p Ljava/security/Provider;
8 17 8 iter Ljava/util/Iterator<Ljava/security/Provider$Service;>;
10 16 9 s Ljava/security/Provider$Service;
Exception table:
from to target type
11 14 15 Class java.lang.Exception
Signature: (Ljava/lang/String;)Ljava/util/Set<Ljava/lang/Object;>;
MethodParameters:
Name Flags
serviceName
}
SourceFile: "Sasl.java"
NestMembers:
javax.security.sasl.Sasl$1 javax.security.sasl.Sasl$2
InnerClasses:
public Service = java.security.Provider$Service of java.security.Provider
javax.security.sasl.Sasl$1
javax.security.sasl.Sasl$2