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=9, 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: new java.lang.Byte
dup
aload 3
iconst_0
baload
invokespecial java.lang.Byte.<init>:(B)V
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
new java.lang.Integer
dup
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.recvMaxBufSize:I
invokespecial java.lang.Integer.<init>:(I)V
aastore
dup
iconst_1
42: new java.lang.Integer
dup
iload 5
invokespecial java.lang.Integer.<init>:(I)V
aastore
dup
iconst_2
43: new java.lang.Integer
dup
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.rawSendSize:I
invokespecial java.lang.Integer.<init>:(I)V
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
new java.lang.Byte
dup
iload 4
invokespecial java.lang.Byte.<init>:(B)V
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.recvMaxBufSize:I
aload 7
iconst_1
iconst_3
invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.intToNetworkByteOrder:(I[BII)V
58: aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.authzID:[B
ifnull 61
59: 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
60: 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
61: 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 65
62: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.MY_CLASS_NAME:Ljava/lang/String;
ldc "doFinalHandshake"
63: ldc "KRB5CLNT10:Response [raw]"
aload 7
64: invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.traceOutput:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)V
65: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.sasl.gsskerb.GssKrb5Client.secCtx:Lorg/ietf/jgss/GSSContext;
aload 7
66: iconst_0
aload 7
arraylength
67: new org.ietf.jgss.MessageProp
dup
iconst_0
iconst_0
invokespecial org.ietf.jgss.MessageProp.<init>:(IZ)V
68: invokeinterface org.ietf.jgss.GSSContext.wrap:([BIILorg/ietf/jgss/MessageProp;)[B
astore 3
69: 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 73
70: getstatic com.sun.security.sasl.gsskerb.GssKrb5Client.MY_CLASS_NAME:Ljava/lang/String;
ldc "doFinalHandshake"
71: ldc "KRB5CLNT11:Response [after wrap]"
aload 3
72: invokestatic com.sun.security.sasl.gsskerb.GssKrb5Client.traceOutput:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)V
73: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.security.sasl.gsskerb.GssKrb5Client.completed:Z
74: aload 3
75: areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 76: StackMap locals: com.sun.security.sasl.gsskerb.GssKrb5Client byte[]
StackMap stack: org.ietf.jgss.GSSException
astore 2
start local 2 77: 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 78 0 this Lcom/sun/security/sasl/gsskerb/GssKrb5Client;
0 78 1 challengeData [B
8 76 2 msgProp Lorg/ietf/jgss/MessageProp;
11 76 3 gssOutToken [B
21 76 4 selectedQop B
32 76 5 srvMaxBufSize I
46 76 6 len I
49 76 7 gssInToken [B
77 78 2 e Lorg/ietf/jgss/GSSException;
Exception table:
from to target type
0 6 76 Class org.ietf.jgss.GSSException
7 75 76 Class org.ietf.jgss.GSSException
Exceptions:
throws javax.security.sasl.SaslException
MethodParameters:
Name Flags
challengeData
}
SourceFile: "GssKrb5Client.java"