class sun.security.jgss.krb5.AcceptSecContextToken extends sun.security.jgss.krb5.InitialToken
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.jgss.krb5.AcceptSecContextToken
  super_class: sun.security.jgss.krb5.InitialToken
{
  private sun.security.krb5.KrbApRep apRep;
    descriptor: Lsun/security/krb5/KrbApRep;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(sun.security.jgss.krb5.Krb5Context, sun.security.krb5.KrbApReq);
    descriptor: (Lsun/security/jgss/krb5/Krb5Context;Lsun/security/krb5/KrbApReq;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // sun.security.jgss.krb5.AcceptSecContextToken this
        start local 1 // sun.security.jgss.krb5.Krb5Context context
        start local 2 // sun.security.krb5.KrbApReq apReq
         0: .line 44
            aload 0 /* this */
            invokespecial sun.security.jgss.krb5.InitialToken.<init>:()V
         1: .line 38
            aload 0 /* this */
            aconst_null
            putfield sun.security.jgss.krb5.AcceptSecContextToken.apRep:Lsun/security/krb5/KrbApRep;
         2: .line 49
            new sun.security.action.GetBooleanAction
            dup
            ldc "sun.security.krb5.acceptor.subkey"
            invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
         3: .line 48
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 3 /* useSubkey */
        start local 3 // boolean useSubkey
         4: .line 51
            iconst_1
            istore 4 /* useSequenceNumber */
        start local 4 // boolean useSequenceNumber
         5: .line 53
            aconst_null
            astore 5 /* subKey */
        start local 5 // sun.security.krb5.EncryptionKey subKey
         6: .line 54
            iload 3 /* useSubkey */
            ifeq 9
         7: .line 55
            new sun.security.krb5.EncryptionKey
            dup
            aload 2 /* apReq */
            invokevirtual sun.security.krb5.KrbApReq.getCreds:()Lsun/security/krb5/Credentials;
            invokevirtual sun.security.krb5.Credentials.getSessionKey:()Lsun/security/krb5/EncryptionKey;
            invokespecial sun.security.krb5.EncryptionKey.<init>:(Lsun/security/krb5/EncryptionKey;)V
            astore 5 /* subKey */
         8: .line 56
            aload 1 /* context */
            iconst_2
            aload 5 /* subKey */
            invokevirtual sun.security.jgss.krb5.Krb5Context.setKey:(ILsun/security/krb5/EncryptionKey;)V
         9: .line 58
      StackMap locals: sun.security.jgss.krb5.AcceptSecContextToken sun.security.jgss.krb5.Krb5Context sun.security.krb5.KrbApReq int int sun.security.krb5.EncryptionKey
      StackMap stack:
            aload 0 /* this */
            new sun.security.krb5.KrbApRep
            dup
            aload 2 /* apReq */
            iload 4 /* useSequenceNumber */
            aload 5 /* subKey */
            invokespecial sun.security.krb5.KrbApRep.<init>:(Lsun/security/krb5/KrbApReq;ZLsun/security/krb5/EncryptionKey;)V
            putfield sun.security.jgss.krb5.AcceptSecContextToken.apRep:Lsun/security/krb5/KrbApRep;
        10: .line 60
            aload 1 /* context */
            aload 0 /* this */
            getfield sun.security.jgss.krb5.AcceptSecContextToken.apRep:Lsun/security/krb5/KrbApRep;
            invokevirtual sun.security.krb5.KrbApRep.getSeqNumber:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual sun.security.jgss.krb5.Krb5Context.resetMySequenceNumber:(I)V
        11: .line 66
            return
        end local 5 // sun.security.krb5.EncryptionKey subKey
        end local 4 // boolean useSequenceNumber
        end local 3 // boolean useSubkey
        end local 2 // sun.security.krb5.KrbApReq apReq
        end local 1 // sun.security.jgss.krb5.Krb5Context context
        end local 0 // sun.security.jgss.krb5.AcceptSecContextToken this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lsun/security/jgss/krb5/AcceptSecContextToken;
            0   12     1            context  Lsun/security/jgss/krb5/Krb5Context;
            0   12     2              apReq  Lsun/security/krb5/KrbApReq;
            4   12     3          useSubkey  Z
            5   12     4  useSequenceNumber  Z
            6   12     5             subKey  Lsun/security/krb5/EncryptionKey;
    Exceptions:
      throws sun.security.krb5.KrbException, java.io.IOException, org.ietf.jgss.GSSException
    MethodParameters:
         Name  Flags
      context  
      apReq    

  public void <init>(sun.security.jgss.krb5.Krb5Context, sun.security.krb5.Credentials, sun.security.krb5.KrbApReq, java.io.InputStream);
    descriptor: (Lsun/security/jgss/krb5/Krb5Context;Lsun/security/krb5/Credentials;Lsun/security/krb5/KrbApReq;Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // sun.security.jgss.krb5.AcceptSecContextToken this
        start local 1 // sun.security.jgss.krb5.Krb5Context context
        start local 2 // sun.security.krb5.Credentials serviceCreds
        start local 3 // sun.security.krb5.KrbApReq apReq
        start local 4 // java.io.InputStream is
         0: .line 72
            aload 0 /* this */
            invokespecial sun.security.jgss.krb5.InitialToken.<init>:()V
         1: .line 38
            aload 0 /* this */
            aconst_null
            putfield sun.security.jgss.krb5.AcceptSecContextToken.apRep:Lsun/security/krb5/KrbApRep;
         2: .line 77
            aload 4 /* is */
            invokevirtual java.io.InputStream.read:()I
            bipush 8
            ishl
            aload 4 /* is */
            invokevirtual java.io.InputStream.read:()I
            ior
            istore 5 /* tokenId */
        start local 5 // int tokenId
         3: .line 79
            iload 5 /* tokenId */
            sipush 512
            if_icmpeq 7
         4: .line 80
            new org.ietf.jgss.GSSException
            dup
            bipush 10
            iconst_m1
         5: .line 81
            ldc "AP_REP token id does not match!"
         6: .line 80
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
         7: .line 84
      StackMap locals: sun.security.jgss.krb5.AcceptSecContextToken sun.security.jgss.krb5.Krb5Context sun.security.krb5.Credentials sun.security.krb5.KrbApReq java.io.InputStream int
      StackMap stack:
            new sun.security.util.DerValue
            dup
            aload 4 /* is */
            invokespecial sun.security.util.DerValue.<init>:(Ljava/io/InputStream;)V
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
         8: .line 83
            astore 6 /* apRepBytes */
        start local 6 // byte[] apRepBytes
         9: .line 86
            new sun.security.krb5.KrbApRep
            dup
            aload 6 /* apRepBytes */
            aload 2 /* serviceCreds */
            aload 3 /* apReq */
            invokespecial sun.security.krb5.KrbApRep.<init>:([BLsun/security/krb5/Credentials;Lsun/security/krb5/KrbApReq;)V
            astore 7 /* apRep */
        start local 7 // sun.security.krb5.KrbApRep apRep
        10: .line 92
            aload 7 /* apRep */
            invokevirtual sun.security.krb5.KrbApRep.getSubKey:()Lsun/security/krb5/EncryptionKey;
            astore 8 /* subKey */
        start local 8 // sun.security.krb5.EncryptionKey subKey
        11: .line 93
            aload 8 /* subKey */
            ifnull 13
        12: .line 94
            aload 1 /* context */
            iconst_2
            aload 8 /* subKey */
            invokevirtual sun.security.jgss.krb5.Krb5Context.setKey:(ILsun/security/krb5/EncryptionKey;)V
        13: .line 101
      StackMap locals: byte[] sun.security.krb5.KrbApRep sun.security.krb5.EncryptionKey
      StackMap stack:
            aload 7 /* apRep */
            invokevirtual sun.security.krb5.KrbApRep.getSeqNumber:()Ljava/lang/Integer;
            astore 9 /* apRepSeqNumber */
        start local 9 // java.lang.Integer apRepSeqNumber
        14: .line 102
            aload 9 /* apRepSeqNumber */
            ifnull 16
        15: .line 103
            aload 9 /* apRepSeqNumber */
            invokevirtual java.lang.Integer.intValue:()I
            goto 17
        16: .line 104
      StackMap locals: java.lang.Integer
      StackMap stack:
            iconst_0
        17: .line 102
      StackMap locals:
      StackMap stack: int
            istore 10 /* peerSeqNumber */
        start local 10 // int peerSeqNumber
        18: .line 105
            aload 1 /* context */
            iload 10 /* peerSeqNumber */
            invokevirtual sun.security.jgss.krb5.Krb5Context.resetPeerSequenceNumber:(I)V
        19: .line 106
            return
        end local 10 // int peerSeqNumber
        end local 9 // java.lang.Integer apRepSeqNumber
        end local 8 // sun.security.krb5.EncryptionKey subKey
        end local 7 // sun.security.krb5.KrbApRep apRep
        end local 6 // byte[] apRepBytes
        end local 5 // int tokenId
        end local 4 // java.io.InputStream is
        end local 3 // sun.security.krb5.KrbApReq apReq
        end local 2 // sun.security.krb5.Credentials serviceCreds
        end local 1 // sun.security.jgss.krb5.Krb5Context context
        end local 0 // sun.security.jgss.krb5.AcceptSecContextToken this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0            this  Lsun/security/jgss/krb5/AcceptSecContextToken;
            0   20     1         context  Lsun/security/jgss/krb5/Krb5Context;
            0   20     2    serviceCreds  Lsun/security/krb5/Credentials;
            0   20     3           apReq  Lsun/security/krb5/KrbApReq;
            0   20     4              is  Ljava/io/InputStream;
            3   20     5         tokenId  I
            9   20     6      apRepBytes  [B
           10   20     7           apRep  Lsun/security/krb5/KrbApRep;
           11   20     8          subKey  Lsun/security/krb5/EncryptionKey;
           14   20     9  apRepSeqNumber  Ljava/lang/Integer;
           18   20    10   peerSeqNumber  I
    Exceptions:
      throws java.io.IOException, org.ietf.jgss.GSSException, sun.security.krb5.KrbException
    MethodParameters:
              Name  Flags
      context       
      serviceCreds  
      apReq         
      is            

  public final byte[] encode();
    descriptor: ()[B
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // sun.security.jgss.krb5.AcceptSecContextToken this
         0: .line 109
            aload 0 /* this */
            getfield sun.security.jgss.krb5.AcceptSecContextToken.apRep:Lsun/security/krb5/KrbApRep;
            invokevirtual sun.security.krb5.KrbApRep.getMessage:()[B
            astore 1 /* apRepBytes */
        start local 1 // byte[] apRepBytes
         1: .line 110
            iconst_2
            aload 1 /* apRepBytes */
            arraylength
            iadd
            newarray 8
            astore 2 /* retVal */
        start local 2 // byte[] retVal
         2: .line 111
            sipush 512
            aload 2 /* retVal */
            iconst_0
            invokestatic sun.security.jgss.krb5.AcceptSecContextToken.writeInt:(I[BI)I
            pop
         3: .line 112
            aload 1 /* apRepBytes */
            iconst_0
            aload 2 /* retVal */
            iconst_2
            aload 1 /* apRepBytes */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 113
            aload 2 /* retVal */
            areturn
        end local 2 // byte[] retVal
        end local 1 // byte[] apRepBytes
        end local 0 // sun.security.jgss.krb5.AcceptSecContextToken this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lsun/security/jgss/krb5/AcceptSecContextToken;
            1    5     1  apRepBytes  [B
            2    5     2      retVal  [B
    Exceptions:
      throws java.io.IOException
}
SourceFile: "AcceptSecContextToken.java"