final class com.sun.security.sasl.gsskerb.GssKrb5Client extends com.sun.security.sasl.gsskerb.GssKrb5Base implements javax.security.sasl.SaslClient
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.security.sasl.gsskerb.GssKrb5Client
super_class: com.sun.security.sasl.gsskerb.GssKrb5Base
{
private static final java.lang.String MY_CLASS_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private boolean finalHandshake;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mutual;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private byte[] authzID;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/sun/security/sasl/gsskerb/GssKrb5Client;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
putstatic com.sun.security.sasl.gsskerb.GssKrb5Client.MY_CLASS_NAME:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(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;)V
flags: (0x0000)
Code:
stack=6, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 4
getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.MY_CLASS_NAME:Ljava/lang/String;
invokespecial com.sun.security.sasl.gsskerb.GssKrb5Base.<init>:(Ljava/util/Map;Ljava/lang/String;)V
1: aload 0
iconst_0
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.finalHandshake:Z
2: aload 0
iconst_0
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.mutual:Z
3: new java.lang.StringBuilder
dup
aload 2
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 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 4: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "KRB5CLNT01:Requesting service name: {0}"
5: aload 6
6: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
7: invokestatic org.ietf.jgss.GSSManager.getInstance:()Lorg/ietf/jgss/GSSManager;
astore 7
start local 7 8: aload 7
aload 6
9: getstatic org.ietf.jgss.GSSName.NT_HOSTBASED_SERVICE:Lorg/ietf/jgss/Oid;
getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.KRB5_OID:Lorg/ietf/jgss/Oid;
10: invokevirtual org.ietf.jgss.GSSManager.createName:(Ljava/lang/String;Lorg/ietf/jgss/Oid;Lorg/ietf/jgss/Oid;)Lorg/ietf/jgss/GSSName;
astore 8
start local 8 11: aconst_null
astore 9
start local 9 12: aload 4
ifnull 19
13: aload 4
ldc "javax.security.sasl.credentials"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 14: aload 10
ifnull 19
aload 10
instanceof org.ietf.jgss.GSSCredential
ifeq 19
15: aload 10
checkcast org.ietf.jgss.GSSCredential
astore 9
16: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
17: ldc "KRB5CLNT01:Using the credentials supplied in javax.security.sasl.credentials"
18: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
end local 10 19: StackMap locals: com.sun.security.sasl.gsskerb.GssKrb5Client java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler java.lang.String org.ietf.jgss.GSSManager org.ietf.jgss.GSSName org.ietf.jgss.GSSCredential
StackMap stack:
aload 0
aload 7
aload 8
20: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.KRB5_OID:Lorg/ietf/jgss/Oid;
21: aload 9
22: ldc 2147483647
23: invokevirtual org.ietf.jgss.GSSManager.createContext:(Lorg/ietf/jgss/GSSName;Lorg/ietf/jgss/Oid;Lorg/ietf/jgss/GSSCredential;I)Lorg/ietf/jgss/GSSContext;
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
24: aload 9
ifnull 26
25: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
iconst_1
invokeinterface org.ietf.jgss.GSSContext.requestCredDeleg:(Z)V
26: StackMap locals:
StackMap stack:
aload 4
ifnull 30
27: aload 4
ldc "javax.security.sasl.server.authentication"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 28: aload 10
ifnull 30
29: aload 0
ldc "true"
aload 10
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.mutual:Z
end local 10 30: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.mutual:Z
invokeinterface org.ietf.jgss.GSSContext.requestMutualAuth:(Z)V
31: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
iconst_1
invokeinterface org.ietf.jgss.GSSContext.requestConf:(Z)V
32: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
iconst_1
invokeinterface org.ietf.jgss.GSSContext.requestInteg:(Z)V
end local 9 end local 8 end local 7 33: goto 36
StackMap locals: com.sun.security.sasl.gsskerb.GssKrb5Client java.lang.String java.lang.String java.lang.String java.util.Map javax.security.auth.callback.CallbackHandler java.lang.String
StackMap stack: org.ietf.jgss.GSSException
34: astore 7
start local 7 35: new javax.security.sasl.SaslException
dup
ldc "Failure to initialize security context"
aload 7
invokespecial javax.security.sasl.SaslException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 36: StackMap locals:
StackMap stack:
aload 1
ifnull 41
aload 1
invokevirtual java.lang.String.length:()I
ifle 41
37: aload 0
aload 1
ldc "UTF8"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.authzID:[B
38: goto 41
StackMap locals:
StackMap stack: java.io.IOException
39: astore 7
start local 7 40: new javax.security.sasl.SaslException
dup
ldc "Cannot encode authorization ID"
aload 7
invokespecial javax.security.sasl.SaslException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 41: StackMap locals:
StackMap stack:
return
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 42 0 this Lcom/sun/security/sasl/gsskerb/GssKrb5Client;
0 42 1 authzID Ljava/lang/String;
0 42 2 protocol Ljava/lang/String;
0 42 3 serverName Ljava/lang/String;
0 42 4 props Ljava/util/Map<Ljava/lang/String;*>;
0 42 5 cbh Ljavax/security/auth/callback/CallbackHandler;
4 42 6 service Ljava/lang/String;
8 33 7 mgr Lorg/ietf/jgss/GSSManager;
11 33 8 acceptorName Lorg/ietf/jgss/GSSName;
12 33 9 credentials Lorg/ietf/jgss/GSSCredential;
14 19 10 prop Ljava/lang/Object;
28 30 10 prop Ljava/lang/String;
35 36 7 e Lorg/ietf/jgss/GSSException;
40 41 7 e Ljava/io/IOException;
Exception table:
from to target type
7 33 34 Class org.ietf.jgss.GSSException
37 38 39 Class java.io.IOException
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;)V
MethodParameters:
Name Flags
authzID
protocol
serverName
props
cbh
public boolean hasInitialResponse();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/security/sasl/gsskerb/GssKrb5Client;
public byte[] evaluateChallenge(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.completed:Z
ifeq 4
1: new java.lang.IllegalStateException
dup
2: ldc "GSSAPI authentication already complete"
3: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.finalHandshake:Z
ifeq 6
5: aload 0
aload 1
invokevirtual com.sun.security.sasl.gsskerb.GssKrb5Client.doFinalHandshake:([B)[B
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
aload 1
7: iconst_0
aload 1
arraylength
8: invokeinterface org.ietf.jgss.GSSContext.initSecContext:([BII)[B
astore 2
start local 2 9: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 16
10: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.MY_CLASS_NAME:Ljava/lang/String;
ldc "evaluteChallenge"
11: ldc "KRB5CLNT02:Challenge: [raw]"
aload 1
12: invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.traceOutput:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)V
13: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.MY_CLASS_NAME:Ljava/lang/String;
ldc "evaluateChallenge"
14: ldc "KRB5CLNT03:Response: [after initSecCtx]"
aload 2
15: invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.traceOutput:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)V
16: StackMap locals: byte[]
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
invokeinterface org.ietf.jgss.GSSContext.isEstablished:()Z
ifeq 21
17: aload 0
iconst_1
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.finalHandshake:Z
18: aload 2
ifnonnull 21
19: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.EMPTY:[B
20: areturn
21: StackMap locals:
StackMap stack:
aload 2
22: areturn
end local 2 23: StackMap locals: com.sun.security.sasl.gsskerb.GssKrb5Client byte[]
StackMap stack: org.ietf.jgss.GSSException
astore 2
start local 2 24: new javax.security.sasl.SaslException
dup
ldc "GSS initiate failed"
aload 2
invokespecial javax.security.sasl.SaslException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/security/sasl/gsskerb/GssKrb5Client;
0 25 1 challengeData [B
9 23 2 gssOutToken [B
24 25 2 e Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
6 20 23 Class org.ietf.jgss.GSSException
21 22 23 Class org.ietf.jgss.GSSException
Exceptions:
throws javax.security.sasl.SaslException
MethodParameters:
Name Flags
challengeData
private byte[] doFinalHandshake(byte[]);
descriptor: ([B)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=7, args_size=2
start local 0 start local 1 0: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 4
1: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.MY_CLASS_NAME:Ljava/lang/String;
ldc "doFinalHandshake"
2: ldc "KRB5CLNT04:Challenge [raw]:"
aload 1
3: invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.traceOutput:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)V
4: StackMap locals:
StackMap stack:
aload 1
arraylength
ifne 7
5: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.EMPTY:[B
6: areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
aload 1
iconst_0
8: aload 1
arraylength
new org.ietf.jgss.MessageProp
dup
iconst_0
iconst_0
invokespecial org.ietf.jgss.MessageProp.<init>:(IZ)V
9: invokeinterface org.ietf.jgss.GSSContext.unwrap:([BIILorg/ietf/jgss/MessageProp;)[B
astore 2
start local 2 10: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 18
11: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 15
12: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.MY_CLASS_NAME:Ljava/lang/String;
ldc "doFinalHandshake"
13: ldc "KRB5CLNT05:Challenge [unwrapped]:"
aload 2
14: invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.traceOutput:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)V
15: StackMap locals: byte[]
StackMap stack:
getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "KRB5CLNT06:Server protections: {0}"
16: aload 2
iconst_0
baload
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
17: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
18: StackMap locals:
StackMap stack:
aload 2
iconst_0
baload
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.qop:[B
invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.findPreferredMask:(B[B)B
istore 3
start local 3 19: iload 3
ifne 23
20: new javax.security.sasl.SaslException
dup
21: ldc "No common protection layer between client and server"
22: invokespecial javax.security.sasl.SaslException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: int
StackMap stack:
iload 3
iconst_4
iand
ifeq 27
24: aload 0
iconst_1
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.privacy:Z
25: aload 0
iconst_1
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.integrity:Z
26: goto 29
StackMap locals:
StackMap stack:
27: iload 3
iconst_2
iand
ifeq 29
28: aload 0
iconst_1
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.integrity:Z
29: StackMap locals:
StackMap stack:
aload 2
iconst_1
iconst_3
invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.networkByteOrderToInt:([BII)I
istore 4
start local 4 30: aload 0
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.sendMaxBufSize:I
ifne 31
iload 4
goto 32
31: StackMap locals: com.sun.security.sasl.gsskerb.GssKrb5Client byte[] byte[] int int
StackMap stack: com.sun.security.sasl.gsskerb.GssKrb5Client
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.sendMaxBufSize:I
iload 4
invokestatic java.lang.Math.min:(II)I
32: StackMap locals: com.sun.security.sasl.gsskerb.GssKrb5Client byte[] byte[] int int
StackMap stack: com.sun.security.sasl.gsskerb.GssKrb5Client int
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.sendMaxBufSize:I
33: aload 0
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
iconst_0
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.privacy:Z
34: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.sendMaxBufSize:I
35: invokeinterface org.ietf.jgss.GSSContext.getWrapSizeLimit:(IZI)I
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.rawSendSize:I
36: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 43
37: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
38: ldc "KRB5CLNT07:Client max recv size: {0}; server max recv size: {1}; rawSendSize: {2}"
39: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.recvMaxBufSize:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
40: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
41: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.rawSendSize:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
42: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
43: StackMap locals:
StackMap stack:
iconst_4
istore 5
start local 5 44: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.authzID:[B
ifnull 46
45: iload 5
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.authzID:[B
arraylength
iadd
istore 5
46: StackMap locals: int
StackMap stack:
iload 5
newarray 8
astore 6
start local 6 47: aload 6
iconst_0
iload 3
bastore
48: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 55
49: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
50: ldc "KRB5CLNT08:Selected protection: {0}; privacy: {1}; integrity: {2}"
51: iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
dup
iconst_1
52: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.privacy:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_2
53: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.integrity:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
54: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
55: StackMap locals: byte[]
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.privacy:Z
ifne 56
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.integrity:Z
ifeq 57
56: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.recvMaxBufSize:I
aload 6
iconst_1
iconst_3
invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.intToNetworkByteOrder:(I[BII)V
57: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.authzID:[B
ifnull 60
58: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.authzID:[B
iconst_0
aload 6
iconst_4
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.authzID:[B
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
59: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "KRB5CLNT09:Authzid: {0}"
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.authzID:[B
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
60: StackMap locals:
StackMap stack:
getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 64
61: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.MY_CLASS_NAME:Ljava/lang/String;
ldc "doFinalHandshake"
62: ldc "KRB5CLNT10:Response [raw]"
aload 6
63: invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.traceOutput:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)V
64: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
aload 6
65: iconst_0
aload 6
arraylength
66: new org.ietf.jgss.MessageProp
dup
iconst_0
iconst_0
invokespecial org.ietf.jgss.MessageProp.<init>:(IZ)V
67: invokeinterface org.ietf.jgss.GSSContext.wrap:([BIILorg/ietf/jgss/MessageProp;)[B
astore 2
68: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 72
69: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.MY_CLASS_NAME:Ljava/lang/String;
ldc "doFinalHandshake"
70: ldc "KRB5CLNT11:Response [after wrap]"
aload 2
71: invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.traceOutput:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)V
72: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.completed:Z
73: aload 2
74: areturn
end local 6 end local 5 end local 4 end local 3 end local 2 75: StackMap locals: com.sun.security.sasl.gsskerb.GssKrb5Client byte[]
StackMap stack: org.ietf.jgss.GSSException
astore 2
start local 2 76: new javax.security.sasl.SaslException
dup
ldc "Final handshake failed"
aload 2
invokespecial javax.security.sasl.SaslException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 77 0 this Lcom/sun/security/sasl/gsskerb/GssKrb5Client;
0 77 1 challengeData [B
10 75 2 gssOutToken [B
19 75 3 selectedQop B
30 75 4 srvMaxBufSize I
44 75 5 len I
47 75 6 gssInToken [B
76 77 2 e Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
0 6 75 Class org.ietf.jgss.GSSException
7 74 75 Class org.ietf.jgss.GSSException
Exceptions:
throws javax.security.sasl.SaslException
MethodParameters:
Name Flags
challengeData
}
SourceFile: "GssKrb5Client.java"