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 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=12, 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: 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 3: 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}"
4: aload 6
5: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
6: invokestatic org.ietf.jgss.GSSManager.getInstance:()Lorg/ietf/jgss/GSSManager;
astore 7
start local 7 7: aload 7
aload 6
8: 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;
9: 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 10: aconst_null
astore 9
start local 9 11: aload 4
ifnull 18
12: aload 4
ldc "javax.security.sasl.credentials"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 13: aload 10
ifnull 18
aload 10
instanceof org.ietf.jgss.GSSCredential
ifeq 18
14: aload 10
checkcast org.ietf.jgss.GSSCredential
astore 9
15: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
16: ldc "KRB5CLNT01:Using the credentials supplied in javax.security.sasl.credentials"
17: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
end local 10 18: 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
19: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.KRB5_OID:Lorg/ietf/jgss/Oid;
20: aload 9
21: ldc 2147483647
22: 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;
23: aload 9
ifnull 25
24: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
iconst_1
invokeinterface org.ietf.jgss.GSSContext.requestCredDeleg:(Z)V
25: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.allQop:B
iconst_2
iand
ifne 27
26: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.allQop:B
iconst_4
iand
ifeq 30
27: StackMap locals:
StackMap stack:
iconst_1
istore 10
start local 10 28: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
iconst_1
invokeinterface org.ietf.jgss.GSSContext.requestSequenceDet:(Z)V
29: goto 31
end local 10 30: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 31: StackMap locals: int
StackMap stack:
aload 4
ifnull 35
32: aload 4
ldc "javax.security.sasl.server.authentication"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 11
start local 11 33: aload 11
ifnull 35
34: ldc "true"
aload 11
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
istore 10
end local 11 35: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
iload 10
invokeinterface org.ietf.jgss.GSSContext.requestMutualAuth:(Z)V
36: aload 4
ifnull 40
37: aload 4
ldc "jdk.internal.sasl.tlschannelbinding"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 11
start local 11 38: aload 11
ifnull 40
39: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
new sun.security.jgss.krb5.internal.TlsChannelBindingImpl
dup
aload 11
invokespecial sun.security.jgss.krb5.internal.TlsChannelBindingImpl.<init>:([B)V
invokeinterface org.ietf.jgss.GSSContext.setChannelBinding:(Lorg/ietf/jgss/ChannelBinding;)V
end local 11 40: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
iconst_1
invokeinterface org.ietf.jgss.GSSContext.requestConf:(Z)V
41: 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 10 end local 9 end local 8 end local 7 42: goto 45
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
43: astore 7
start local 7 44: 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 45: StackMap locals:
StackMap stack:
aload 1
ifnull 47
aload 1
invokevirtual java.lang.String.length:()I
ifle 47
46: aload 0
aload 1
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.authzID:[B
47: 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 48 0 this Lcom/sun/security/sasl/gsskerb/GssKrb5Client;
0 48 1 authzID Ljava/lang/String;
0 48 2 protocol Ljava/lang/String;
0 48 3 serverName Ljava/lang/String;
0 48 4 props Ljava/util/Map<Ljava/lang/String;*>;
0 48 5 cbh Ljavax/security/auth/callback/CallbackHandler;
3 48 6 service Ljava/lang/String;
7 42 7 mgr Lorg/ietf/jgss/GSSManager;
10 42 8 acceptorName Lorg/ietf/jgss/GSSName;
11 42 9 credentials Lorg/ietf/jgss/GSSCredential;
13 18 10 prop Ljava/lang/Object;
28 30 10 mutual Z
31 42 10 mutual Z
33 35 11 prop Ljava/lang/String;
38 40 11 tlsCB [B
44 45 7 e Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
6 42 43 Class org.ietf.jgss.GSSException
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=8, 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:
new org.ietf.jgss.MessageProp
dup
iconst_0
invokespecial org.ietf.jgss.MessageProp.<init>:(Z)V
astore 2
start local 2 8: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
aload 1
iconst_0
9: aload 1
arraylength
aload 2
10: invokeinterface org.ietf.jgss.GSSContext.unwrap:([BIILorg/ietf/jgss/MessageProp;)[B
astore 3
start local 3 11: aload 0
ldc "Handshake failure: "
aload 2
invokevirtual com.sun.security.sasl.gsskerb.GssKrb5Client.checkMessageProp:(Ljava/lang/String;Lorg/ietf/jgss/MessageProp;)V
12: 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 20
13: 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 17
14: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.MY_CLASS_NAME:Ljava/lang/String;
ldc "doFinalHandshake"
15: ldc "KRB5CLNT05:Challenge [unwrapped]:"
aload 3
16: invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.traceOutput:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)V
17: StackMap locals: org.ietf.jgss.MessageProp 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}"
18: aload 3
iconst_0
baload
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
19: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
20: StackMap locals:
StackMap stack:
aload 3
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 4
start local 4 21: iload 4
ifne 25
22: new javax.security.sasl.SaslException
dup
23: ldc "No common protection layer between client and server"
24: invokespecial javax.security.sasl.SaslException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals: int
StackMap stack:
iload 4
iconst_4
iand
ifeq 29
26: aload 0
iconst_1
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.privacy:Z
27: aload 0
iconst_1
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.integrity:Z
28: goto 31
StackMap locals:
StackMap stack:
29: iload 4
iconst_2
iand
ifeq 31
30: aload 0
iconst_1
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.integrity:Z
31: StackMap locals:
StackMap stack:
aload 3
iconst_1
iconst_3
invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.networkByteOrderToInt:([BII)I
istore 5
start local 5 32: aload 0
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.sendMaxBufSize:I
ifne 33
iload 5
goto 34
33: StackMap locals: com.sun.security.sasl.gsskerb.GssKrb5Client byte[] org.ietf.jgss.MessageProp byte[] int int
StackMap stack: com.sun.security.sasl.gsskerb.GssKrb5Client
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.sendMaxBufSize:I
iload 5
invokestatic java.lang.Math.min:(II)I
34: StackMap locals: com.sun.security.sasl.gsskerb.GssKrb5Client byte[] org.ietf.jgss.MessageProp byte[] int int
StackMap stack: com.sun.security.sasl.gsskerb.GssKrb5Client int
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.sendMaxBufSize:I
35: 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
36: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.sendMaxBufSize:I
37: invokeinterface org.ietf.jgss.GSSContext.getWrapSizeLimit:(IZI)I
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.rawSendSize:I
38: 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 45
39: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
40: ldc "KRB5CLNT07:Client max recv size: {0}; server max recv size: {1}; rawSendSize: {2}"
41: 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
42: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
43: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.rawSendSize:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
44: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
45: StackMap locals:
StackMap stack:
iconst_4
istore 6
start local 6 46: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.authzID:[B
ifnull 48
47: iload 6
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.authzID:[B
arraylength
iadd
istore 6
48: StackMap locals: int
StackMap stack:
iload 6
newarray 8
astore 7
start local 7 49: aload 7
iconst_0
iload 4
bastore
50: 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 57
51: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
52: ldc "KRB5CLNT08:Selected protection: {0}; privacy: {1}; integrity: {2}"
53: iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 4
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
dup
iconst_1
54: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.privacy:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_2
55: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.integrity:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
56: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
57: StackMap locals: byte[]
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.privacy:Z
ifne 58
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.integrity:Z
ifeq 59
58: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.recvMaxBufSize:I
aload 7
iconst_1
iconst_3
invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.intToNetworkByteOrder:(I[BII)V
59: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.authzID:[B
ifnull 62
60: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.authzID:[B
iconst_0
aload 7
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
61: 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
62: 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 66
63: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.MY_CLASS_NAME:Ljava/lang/String;
ldc "doFinalHandshake"
64: ldc "KRB5CLNT10:Response [raw]"
aload 7
65: invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.traceOutput:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)V
66: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
aload 7
67: iconst_0
aload 7
arraylength
68: new org.ietf.jgss.MessageProp
dup
iconst_0
iconst_0
invokespecial org.ietf.jgss.MessageProp.<init>:(IZ)V
69: invokeinterface org.ietf.jgss.GSSContext.wrap:([BIILorg/ietf/jgss/MessageProp;)[B
astore 3
70: 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 74
71: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.MY_CLASS_NAME:Ljava/lang/String;
ldc "doFinalHandshake"
72: ldc "KRB5CLNT11:Response [after wrap]"
aload 3
73: invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.traceOutput:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)V
74: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.completed:Z
75: aload 3
76: areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 77: StackMap locals: com.sun.security.sasl.gsskerb.GssKrb5Client byte[]
StackMap stack: org.ietf.jgss.GSSException
astore 2
start local 2 78: 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 79 0 this Lcom/sun/security/sasl/gsskerb/GssKrb5Client;
0 79 1 challengeData [B
8 77 2 msgProp Lorg/ietf/jgss/MessageProp;
11 77 3 gssOutToken [B
21 77 4 selectedQop B
32 77 5 srvMaxBufSize I
46 77 6 len I
49 77 7 gssInToken [B
78 79 2 e Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
0 6 77 Class org.ietf.jgss.GSSException
7 76 77 Class org.ietf.jgss.GSSException
Exceptions:
throws javax.security.sasl.SaslException
MethodParameters:
Name Flags
challengeData
}
SourceFile: "GssKrb5Client.java"