public class com.jcraft.jsch.jgss.GSSContextKrb5 implements com.jcraft.jsch.GSSContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.jcraft.jsch.jgss.GSSContextKrb5
  super_class: java.lang.Object
{
  private static final java.lang.String pUseSubjectCredsOnly;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.security.auth.useSubjectCredsOnly"

  private static java.lang.String useSubjectCredsOnly;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private org.ietf.jgss.GSSContext context;
    descriptor: Lorg/ietf/jgss/GSSContext;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 49
            ldc "javax.security.auth.useSubjectCredsOnly"
            invokestatic com.jcraft.jsch.jgss.GSSContextKrb5.getSystemProperty:(Ljava/lang/String;)Ljava/lang/String;
         1: .line 48
            putstatic com.jcraft.jsch.jgss.GSSContextKrb5.useSubjectCredsOnly:Ljava/lang/String;
         2: .line 49
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.jgss.GSSContextKrb5 this
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.jgss.GSSContextKrb5.context:Lorg/ietf/jgss/GSSContext;
         2: .line 44
            return
        end local 0 // com.jcraft.jsch.jgss.GSSContextKrb5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/jgss/GSSContextKrb5;

  public void create(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // com.jcraft.jsch.jgss.GSSContextKrb5 this
        start local 1 // java.lang.String user
        start local 2 // java.lang.String host
         0: .line 55
            new org.ietf.jgss.Oid
            dup
            ldc "1.2.840.113554.1.2.2"
            invokespecial org.ietf.jgss.Oid.<init>:(Ljava/lang/String;)V
            astore 3 /* krb5 */
        start local 3 // org.ietf.jgss.Oid krb5
         1: .line 57
            new org.ietf.jgss.Oid
            dup
            ldc "1.2.840.113554.1.2.2.1"
            invokespecial org.ietf.jgss.Oid.<init>:(Ljava/lang/String;)V
            astore 4 /* principalName */
        start local 4 // org.ietf.jgss.Oid principalName
         2: .line 59
            invokestatic org.ietf.jgss.GSSManager.getInstance:()Lorg/ietf/jgss/GSSManager;
            astore 5 /* mgr */
        start local 5 // org.ietf.jgss.GSSManager mgr
         3: .line 61
            aconst_null
            astore 6 /* crd */
        start local 6 // org.ietf.jgss.GSSCredential crd
         4: .line 74
            aload 2 /* host */
            astore 7 /* cname */
        start local 7 // java.lang.String cname
         5: .line 76
            aload 7 /* cname */
            invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getCanonicalHostName:()Ljava/lang/String;
            astore 7 /* cname */
         6: .line 77
            goto 8
         7: .line 78
      StackMap locals: com.jcraft.jsch.jgss.GSSContextKrb5 java.lang.String java.lang.String org.ietf.jgss.Oid org.ietf.jgss.Oid org.ietf.jgss.GSSManager org.ietf.jgss.GSSCredential java.lang.String
      StackMap stack: java.net.UnknownHostException
            pop
         8: .line 80
      StackMap locals:
      StackMap stack:
            aload 5 /* mgr */
            new java.lang.StringBuilder
            dup
            ldc "host/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* cname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* principalName */
            invokevirtual org.ietf.jgss.GSSManager.createName:(Ljava/lang/String;Lorg/ietf/jgss/Oid;)Lorg/ietf/jgss/GSSName;
            astore 8 /* _host */
        start local 8 // org.ietf.jgss.GSSName _host
         9: .line 82
            aload 0 /* this */
            aload 5 /* mgr */
            aload 8 /* _host */
        10: .line 83
            aload 3 /* krb5 */
        11: .line 84
            aload 6 /* crd */
        12: .line 85
            iconst_0
        13: .line 82
            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.jcraft.jsch.jgss.GSSContextKrb5.context:Lorg/ietf/jgss/GSSContext;
        14: .line 101
            aload 0 /* this */
            getfield com.jcraft.jsch.jgss.GSSContextKrb5.context:Lorg/ietf/jgss/GSSContext;
            iconst_1
            invokeinterface org.ietf.jgss.GSSContext.requestMutualAuth:(Z)V
        15: .line 102
            aload 0 /* this */
            getfield com.jcraft.jsch.jgss.GSSContextKrb5.context:Lorg/ietf/jgss/GSSContext;
            iconst_1
            invokeinterface org.ietf.jgss.GSSContext.requestConf:(Z)V
        16: .line 103
            aload 0 /* this */
            getfield com.jcraft.jsch.jgss.GSSContextKrb5.context:Lorg/ietf/jgss/GSSContext;
            iconst_1
            invokeinterface org.ietf.jgss.GSSContext.requestInteg:(Z)V
        17: .line 104
            aload 0 /* this */
            getfield com.jcraft.jsch.jgss.GSSContextKrb5.context:Lorg/ietf/jgss/GSSContext;
            iconst_1
            invokeinterface org.ietf.jgss.GSSContext.requestCredDeleg:(Z)V
        18: .line 105
            aload 0 /* this */
            getfield com.jcraft.jsch.jgss.GSSContextKrb5.context:Lorg/ietf/jgss/GSSContext;
            iconst_0
            invokeinterface org.ietf.jgss.GSSContext.requestAnonymity:(Z)V
        19: .line 107
            return
        end local 8 // org.ietf.jgss.GSSName _host
        end local 7 // java.lang.String cname
        end local 6 // org.ietf.jgss.GSSCredential crd
        end local 5 // org.ietf.jgss.GSSManager mgr
        end local 4 // org.ietf.jgss.Oid principalName
        end local 3 // org.ietf.jgss.Oid krb5
        20: .line 109
      StackMap locals: com.jcraft.jsch.jgss.GSSContextKrb5 java.lang.String java.lang.String
      StackMap stack: org.ietf.jgss.GSSException
            astore 3 /* ex */
        start local 3 // org.ietf.jgss.GSSException ex
        21: .line 110
            new com.jcraft.jsch.JSchException
            dup
            aload 3 /* ex */
            invokevirtual org.ietf.jgss.GSSException.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // org.ietf.jgss.GSSException ex
        end local 2 // java.lang.String host
        end local 1 // java.lang.String user
        end local 0 // com.jcraft.jsch.jgss.GSSContextKrb5 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0           this  Lcom/jcraft/jsch/jgss/GSSContextKrb5;
            0   22     1           user  Ljava/lang/String;
            0   22     2           host  Ljava/lang/String;
            1   20     3           krb5  Lorg/ietf/jgss/Oid;
            2   20     4  principalName  Lorg/ietf/jgss/Oid;
            3   20     5            mgr  Lorg/ietf/jgss/GSSManager;
            4   20     6            crd  Lorg/ietf/jgss/GSSCredential;
            5   20     7          cname  Ljava/lang/String;
            9   20     8          _host  Lorg/ietf/jgss/GSSName;
           21   22     3             ex  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           5     6       7  Class java.net.UnknownHostException
           0    19      20  Class org.ietf.jgss.GSSException
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      user  
      host  

  public boolean isEstablished();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.jgss.GSSContextKrb5 this
         0: .line 115
            aload 0 /* this */
            getfield com.jcraft.jsch.jgss.GSSContextKrb5.context:Lorg/ietf/jgss/GSSContext;
            invokeinterface org.ietf.jgss.GSSContext.isEstablished:()Z
            ireturn
        end local 0 // com.jcraft.jsch.jgss.GSSContextKrb5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/jgss/GSSContextKrb5;

  public byte[] init(byte[], int, int);
    descriptor: ([BII)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // com.jcraft.jsch.jgss.GSSContextKrb5 this
        start local 1 // byte[] token
        start local 2 // int s
        start local 3 // int l
         0: .line 126
            getstatic com.jcraft.jsch.jgss.GSSContextKrb5.useSubjectCredsOnly:Ljava/lang/String;
            ifnonnull 2
         1: .line 127
            ldc "javax.security.auth.useSubjectCredsOnly"
            ldc "false"
            invokestatic com.jcraft.jsch.jgss.GSSContextKrb5.setSystemProperty:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.jgss.GSSContextKrb5.context:Lorg/ietf/jgss/GSSContext;
            aload 1 /* token */
            iconst_0
            iload 3 /* l */
            invokeinterface org.ietf.jgss.GSSContext.initSecContext:([BII)[B
            astore 6
         3: .line 138
            getstatic com.jcraft.jsch.jgss.GSSContextKrb5.useSubjectCredsOnly:Ljava/lang/String;
            ifnonnull 5
         4: .line 140
            ldc "javax.security.auth.useSubjectCredsOnly"
            ldc "true"
            invokestatic com.jcraft.jsch.jgss.GSSContextKrb5.setSystemProperty:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 129
      StackMap locals: com.jcraft.jsch.jgss.GSSContextKrb5 byte[] int int top top byte[]
      StackMap stack:
            aload 6
            areturn
         6: .line 131
      StackMap locals: com.jcraft.jsch.jgss.GSSContextKrb5 byte[] int int
      StackMap stack: org.ietf.jgss.GSSException
            astore 4 /* ex */
        start local 4 // org.ietf.jgss.GSSException ex
         7: .line 132
            new com.jcraft.jsch.JSchException
            dup
            aload 4 /* ex */
            invokevirtual org.ietf.jgss.GSSException.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.ietf.jgss.GSSException ex
         8: .line 134
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            astore 4 /* ex */
        start local 4 // java.lang.SecurityException ex
         9: .line 135
            new com.jcraft.jsch.JSchException
            dup
            aload 4 /* ex */
            invokevirtual java.lang.SecurityException.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.SecurityException ex
        10: .line 137
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        11: .line 138
            getstatic com.jcraft.jsch.jgss.GSSContextKrb5.useSubjectCredsOnly:Ljava/lang/String;
            ifnonnull 13
        12: .line 140
            ldc "javax.security.auth.useSubjectCredsOnly"
            ldc "true"
            invokestatic com.jcraft.jsch.jgss.GSSContextKrb5.setSystemProperty:(Ljava/lang/String;Ljava/lang/String;)V
        13: .line 142
      StackMap locals: com.jcraft.jsch.jgss.GSSContextKrb5 byte[] int int top java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        end local 3 // int l
        end local 2 // int s
        end local 1 // byte[] token
        end local 0 // com.jcraft.jsch.jgss.GSSContextKrb5 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lcom/jcraft/jsch/jgss/GSSContextKrb5;
            0   14     1  token  [B
            0   14     2      s  I
            0   14     3      l  I
            7    8     4     ex  Lorg/ietf/jgss/GSSException;
            9   10     4     ex  Ljava/lang/SecurityException;
      Exception table:
        from    to  target  type
           0     3       6  Class org.ietf.jgss.GSSException
           0     3       8  Class java.lang.SecurityException
           0     3      10  any
           6    10      10  any
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
       Name  Flags
      token  
      s      
      l      

  public byte[] getMIC(byte[], int, int);
    descriptor: ([BII)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.jcraft.jsch.jgss.GSSContextKrb5 this
        start local 1 // byte[] message
        start local 2 // int s
        start local 3 // int l
         0: .line 147
            new org.ietf.jgss.MessageProp
            dup
            iconst_0
            iconst_1
            invokespecial org.ietf.jgss.MessageProp.<init>:(IZ)V
            astore 4 /* prop */
        start local 4 // org.ietf.jgss.MessageProp prop
         1: .line 148
            aload 0 /* this */
            getfield com.jcraft.jsch.jgss.GSSContextKrb5.context:Lorg/ietf/jgss/GSSContext;
            aload 1 /* message */
            iload 2 /* s */
            iload 3 /* l */
            aload 4 /* prop */
            invokeinterface org.ietf.jgss.GSSContext.getMIC:([BIILorg/ietf/jgss/MessageProp;)[B
         2: areturn
        end local 4 // org.ietf.jgss.MessageProp prop
         3: .line 150
      StackMap locals:
      StackMap stack: org.ietf.jgss.GSSException
            pop
         4: .line 151
            aconst_null
            areturn
        end local 3 // int l
        end local 2 // int s
        end local 1 // byte[] message
        end local 0 // com.jcraft.jsch.jgss.GSSContextKrb5 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/jcraft/jsch/jgss/GSSContextKrb5;
            0    5     1  message  [B
            0    5     2        s  I
            0    5     3        l  I
            1    3     4     prop  Lorg/ietf/jgss/MessageProp;
      Exception table:
        from    to  target  type
           0     2       3  Class org.ietf.jgss.GSSException
    MethodParameters:
         Name  Flags
      message  
      s        
      l        

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.jgss.GSSContextKrb5 this
         0: .line 157
            aload 0 /* this */
            getfield com.jcraft.jsch.jgss.GSSContextKrb5.context:Lorg/ietf/jgss/GSSContext;
            invokeinterface org.ietf.jgss.GSSContext.dispose:()V
         1: .line 158
            goto 3
         2: .line 159
      StackMap locals:
      StackMap stack: org.ietf.jgss.GSSException
            pop
         3: .line 161
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.jcraft.jsch.jgss.GSSContextKrb5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/jcraft/jsch/jgss/GSSContextKrb5;
      Exception table:
        from    to  target  type
           0     1       2  Class org.ietf.jgss.GSSException

  private static java.lang.String getSystemProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String key
         0: .line 164
            aload 0 /* key */
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
         1: areturn
         2: .line 165
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         3: .line 167
            aconst_null
            areturn
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   key  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      key   

  private static void setSystemProperty(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.lang.String value
         0: .line 172
            aload 0 /* key */
            aload 1 /* value */
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         1: goto 3
         2: .line 173
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         3: .line 176
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String value
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0    key  Ljava/lang/String;
            0    4     1  value  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
       Name  Flags
      key    
      value  
}
SourceFile: "GSSContextKrb5.java"