final class sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer implements sun.security.ssl.SSLConsumer
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer this
         0: .line 131
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 133
            return
        end local 0 // sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/ssl/ChangeCipherSpec$T10ChangeCipherSpecConsumer;

  public void consume(sun.security.ssl.ConnectionContext, java.nio.ByteBuffer);
    descriptor: (Lsun/security/ssl/ConnectionContext;Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=3
        start local 0 // sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer this
        start local 1 // sun.security.ssl.ConnectionContext context
        start local 2 // java.nio.ByteBuffer message
         0: .line 138
            aload 1 /* context */
            checkcast sun.security.ssl.TransportContext
            astore 3 /* tc */
        start local 3 // sun.security.ssl.TransportContext tc
         1: .line 141
            aload 3 /* tc */
            getfield sun.security.ssl.TransportContext.consumers:Ljava/util/Map;
            getstatic sun.security.ssl.ContentType.CHANGE_CIPHER_SPEC:Lsun/security/ssl/ContentType;
            getfield sun.security.ssl.ContentType.id:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 144
            aload 2 /* message */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpne 3
            aload 2 /* message */
            invokevirtual java.nio.ByteBuffer.get:()B
            iconst_1
            if_icmpeq 6
         3: .line 145
      StackMap locals: sun.security.ssl.TransportContext
      StackMap stack:
            aload 3 /* tc */
            getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
         4: .line 146
            ldc "Malformed or unexpected ChangeCipherSpec message"
         5: .line 145
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
         6: .line 148
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.SSLLogger.isOn:Z
            ifeq 8
            ldc "ssl,handshake"
            invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 149
            ldc "Consuming ChangeCipherSpec message"
            iconst_0
            anewarray java.lang.Object
            invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 153
      StackMap locals:
      StackMap stack:
            aload 3 /* tc */
            getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
            ifnonnull 12
         9: .line 154
            aload 3 /* tc */
            getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
        10: .line 155
            ldc "Unexpected ChangeCipherSpec message"
        11: .line 154
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        12: .line 159
      StackMap locals:
      StackMap stack:
            aload 3 /* tc */
            getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
            astore 4 /* hc */
        start local 4 // sun.security.ssl.HandshakeContext hc
        13: .line 161
            aload 4 /* hc */
            getfield sun.security.ssl.HandshakeContext.handshakeKeyDerivation:Lsun/security/ssl/SSLKeyDerivation;
            ifnonnull 17
        14: .line 162
            aload 3 /* tc */
            getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
        15: .line 163
            ldc "Unexpected ChangeCipherSpec message"
        16: .line 162
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        17: .line 166
      StackMap locals: sun.security.ssl.HandshakeContext
      StackMap stack:
            aload 4 /* hc */
            getfield sun.security.ssl.HandshakeContext.handshakeKeyDerivation:Lsun/security/ssl/SSLKeyDerivation;
            astore 5 /* kd */
        start local 5 // sun.security.ssl.SSLKeyDerivation kd
        18: .line 167
            aload 5 /* kd */
            instanceof sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation
            ifeq 64
        19: .line 168
            aload 5 /* kd */
            checkcast sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation
            astore 6 /* tkd */
        start local 6 // sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation tkd
        20: .line 169
            aload 4 /* hc */
            getfield sun.security.ssl.HandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            astore 7 /* ncs */
        start local 7 // sun.security.ssl.CipherSuite ncs
        21: .line 171
            aload 7 /* ncs */
            getfield sun.security.ssl.CipherSuite.bulkCipher:Lsun/security/ssl/SSLCipher;
            getfield sun.security.ssl.SSLCipher.cipherType:Lsun/security/ssl/CipherType;
            getstatic sun.security.ssl.CipherType.AEAD_CIPHER:Lsun/security/ssl/CipherType;
            if_acmpne 25
        22: .line 173
            aload 4 /* hc */
            getfield sun.security.ssl.HandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            invokestatic sun.security.ssl.Authenticator.valueOf:(Lsun/security/ssl/ProtocolVersion;)Lsun/security/ssl/Authenticator;
        23: .line 172
            astore 8 /* readAuthenticator */
        start local 8 // sun.security.ssl.Authenticator readAuthenticator
        24: .line 174
            goto 34
        end local 8 // sun.security.ssl.Authenticator readAuthenticator
        25: .line 177
      StackMap locals: sun.security.ssl.SSLKeyDerivation sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation sun.security.ssl.CipherSuite
      StackMap stack:
            aload 4 /* hc */
            getfield sun.security.ssl.HandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            aload 7 /* ncs */
            getfield sun.security.ssl.CipherSuite.macAlg:Lsun/security/ssl/CipherSuite$MacAlg;
        26: .line 178
            aload 6 /* tkd */
            aload 4 /* hc */
            getfield sun.security.ssl.HandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
            getfield sun.security.ssl.SSLConfiguration.isClientMode:Z
            ifeq 28
        27: .line 179
            ldc "serverMacKey"
            goto 29
      StackMap locals: sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer sun.security.ssl.ConnectionContext java.nio.ByteBuffer sun.security.ssl.TransportContext sun.security.ssl.HandshakeContext sun.security.ssl.SSLKeyDerivation sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation sun.security.ssl.CipherSuite
      StackMap stack: sun.security.ssl.ProtocolVersion sun.security.ssl.CipherSuite$MacAlg sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation
        28: ldc "clientMacKey"
        29: .line 178
      StackMap locals: sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer sun.security.ssl.ConnectionContext java.nio.ByteBuffer sun.security.ssl.TransportContext sun.security.ssl.HandshakeContext sun.security.ssl.SSLKeyDerivation sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation sun.security.ssl.CipherSuite
      StackMap stack: sun.security.ssl.ProtocolVersion sun.security.ssl.CipherSuite$MacAlg sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation java.lang.String
            invokevirtual sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation.getTrafficKey:(Ljava/lang/String;)Ljavax/crypto/SecretKey;
        30: .line 176
            invokestatic sun.security.ssl.Authenticator.valueOf:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite$MacAlg;Ljavax/crypto/SecretKey;)Lsun/security/ssl/Authenticator;
            astore 8 /* readAuthenticator */
        start local 8 // sun.security.ssl.Authenticator readAuthenticator
        31: .line 180
            goto 34
        end local 8 // sun.security.ssl.Authenticator readAuthenticator
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
        32: astore 9 /* e */
        start local 9 // java.security.GeneralSecurityException e
        33: .line 182
            new javax.net.ssl.SSLException
            dup
            ldc "Algorithm missing:  "
            aload 9 /* e */
            invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.security.GeneralSecurityException e
        start local 8 // sun.security.ssl.Authenticator readAuthenticator
        34: .line 187
      StackMap locals: sun.security.ssl.Authenticator
      StackMap stack:
            aload 6 /* tkd */
            aload 4 /* hc */
            getfield sun.security.ssl.HandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
            getfield sun.security.ssl.SSLConfiguration.isClientMode:Z
            ifeq 36
        35: .line 188
            ldc "serverWriteKey"
            goto 37
      StackMap locals:
      StackMap stack: sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation
        36: ldc "clientWriteKey"
        37: .line 187
      StackMap locals: sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer sun.security.ssl.ConnectionContext java.nio.ByteBuffer sun.security.ssl.TransportContext sun.security.ssl.HandshakeContext sun.security.ssl.SSLKeyDerivation sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation sun.security.ssl.CipherSuite sun.security.ssl.Authenticator
      StackMap stack: sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation java.lang.String
            invokevirtual sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation.getTrafficKey:(Ljava/lang/String;)Ljavax/crypto/SecretKey;
        38: .line 186
            astore 9 /* readKey */
        start local 9 // javax.crypto.SecretKey readKey
        39: .line 190
            aload 6 /* tkd */
            aload 4 /* hc */
            getfield sun.security.ssl.HandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
            getfield sun.security.ssl.SSLConfiguration.isClientMode:Z
            ifeq 41
        40: .line 191
            ldc "serverWriteIv"
            goto 42
      StackMap locals: sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer sun.security.ssl.ConnectionContext java.nio.ByteBuffer sun.security.ssl.TransportContext sun.security.ssl.HandshakeContext sun.security.ssl.SSLKeyDerivation sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation sun.security.ssl.CipherSuite sun.security.ssl.Authenticator javax.crypto.SecretKey
      StackMap stack: sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation
        41: ldc "clientWriteIv"
        42: .line 190
      StackMap locals: sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer sun.security.ssl.ConnectionContext java.nio.ByteBuffer sun.security.ssl.TransportContext sun.security.ssl.HandshakeContext sun.security.ssl.SSLKeyDerivation sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation sun.security.ssl.CipherSuite sun.security.ssl.Authenticator javax.crypto.SecretKey
      StackMap stack: sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation java.lang.String
            invokevirtual sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation.getTrafficKey:(Ljava/lang/String;)Ljavax/crypto/SecretKey;
        43: .line 189
            astore 10 /* readIv */
        start local 10 // javax.crypto.SecretKey readIv
        44: .line 192
            aload 10 /* readIv */
            ifnonnull 45
            aconst_null
            goto 46
        45: .line 193
      StackMap locals: javax.crypto.SecretKey
      StackMap stack:
            new javax.crypto.spec.IvParameterSpec
            dup
            aload 10 /* readIv */
            invokeinterface javax.crypto.SecretKey.getEncoded:()[B
            invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
        46: .line 192
      StackMap locals:
      StackMap stack: javax.crypto.spec.IvParameterSpec
            astore 11 /* iv */
        start local 11 // javax.crypto.spec.IvParameterSpec iv
        47: .line 196
            aload 7 /* ncs */
            getfield sun.security.ssl.CipherSuite.bulkCipher:Lsun/security/ssl/SSLCipher;
        48: .line 197
            aload 8 /* readAuthenticator */
        49: .line 198
            aload 4 /* hc */
            getfield sun.security.ssl.HandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            aload 9 /* readKey */
            aload 11 /* iv */
        50: .line 199
            aload 4 /* hc */
            getfield sun.security.ssl.HandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
        51: .line 196
            invokevirtual sun.security.ssl.SSLCipher.createReadCipher:(Lsun/security/ssl/Authenticator;Lsun/security/ssl/ProtocolVersion;Ljavax/crypto/SecretKey;Ljavax/crypto/spec/IvParameterSpec;Ljava/security/SecureRandom;)Lsun/security/ssl/SSLCipher$SSLReadCipher;
            astore 12 /* readCipher */
        start local 12 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
        52: .line 200
            goto 55
        end local 12 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
      StackMap locals: sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer sun.security.ssl.ConnectionContext java.nio.ByteBuffer sun.security.ssl.TransportContext sun.security.ssl.HandshakeContext sun.security.ssl.SSLKeyDerivation sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation sun.security.ssl.CipherSuite sun.security.ssl.Authenticator javax.crypto.SecretKey javax.crypto.SecretKey javax.crypto.spec.IvParameterSpec
      StackMap stack: java.security.GeneralSecurityException
        53: astore 13 /* gse */
        start local 13 // java.security.GeneralSecurityException gse
        54: .line 202
            new javax.net.ssl.SSLException
            dup
            ldc "Algorithm missing:  "
            aload 13 /* gse */
            invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.security.GeneralSecurityException gse
        start local 12 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
        55: .line 205
      StackMap locals: sun.security.ssl.SSLCipher$SSLReadCipher
      StackMap stack:
            aload 12 /* readCipher */
            ifnonnull 62
        56: .line 206
            aload 4 /* hc */
            getfield sun.security.ssl.HandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.ILLEGAL_PARAMETER:Lsun/security/ssl/Alert;
        57: .line 207
            new java.lang.StringBuilder
            dup
            ldc "Illegal cipher suite ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* hc */
            getfield sun.security.ssl.HandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        58: .line 208
            ldc ") and protocol version ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* hc */
            getfield sun.security.ssl.HandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        59: .line 209
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        60: .line 207
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        61: .line 206
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        62: .line 212
      StackMap locals:
      StackMap stack:
            aload 3 /* tc */
            getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
            aload 12 /* readCipher */
            invokevirtual sun.security.ssl.InputRecord.changeReadCiphers:(Lsun/security/ssl/SSLCipher$SSLReadCipher;)V
        end local 12 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
        end local 11 // javax.crypto.spec.IvParameterSpec iv
        end local 10 // javax.crypto.SecretKey readIv
        end local 9 // javax.crypto.SecretKey readKey
        end local 8 // sun.security.ssl.Authenticator readAuthenticator
        end local 7 // sun.security.ssl.CipherSuite ncs
        end local 6 // sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation tkd
        63: .line 213
            goto 65
        64: .line 214
      StackMap locals: sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer sun.security.ssl.ConnectionContext java.nio.ByteBuffer sun.security.ssl.TransportContext sun.security.ssl.HandshakeContext sun.security.ssl.SSLKeyDerivation
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            ldc "Not supported."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        65: .line 216
      StackMap locals:
      StackMap stack:
            return
        end local 5 // sun.security.ssl.SSLKeyDerivation kd
        end local 4 // sun.security.ssl.HandshakeContext hc
        end local 3 // sun.security.ssl.TransportContext tc
        end local 2 // java.nio.ByteBuffer message
        end local 1 // sun.security.ssl.ConnectionContext context
        end local 0 // sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   66     0               this  Lsun/security/ssl/ChangeCipherSpec$T10ChangeCipherSpecConsumer;
            0   66     1            context  Lsun/security/ssl/ConnectionContext;
            0   66     2            message  Ljava/nio/ByteBuffer;
            1   66     3                 tc  Lsun/security/ssl/TransportContext;
           13   66     4                 hc  Lsun/security/ssl/HandshakeContext;
           18   66     5                 kd  Lsun/security/ssl/SSLKeyDerivation;
           20   63     6                tkd  Lsun/security/ssl/SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation;
           21   63     7                ncs  Lsun/security/ssl/CipherSuite;
           24   25     8  readAuthenticator  Lsun/security/ssl/Authenticator;
           31   32     8  readAuthenticator  Lsun/security/ssl/Authenticator;
           34   63     8  readAuthenticator  Lsun/security/ssl/Authenticator;
           33   34     9                  e  Ljava/security/GeneralSecurityException;
           39   63     9            readKey  Ljavax/crypto/SecretKey;
           44   63    10             readIv  Ljavax/crypto/SecretKey;
           47   63    11                 iv  Ljavax/crypto/spec/IvParameterSpec;
           52   53    12         readCipher  Lsun/security/ssl/SSLCipher$SSLReadCipher;
           55   63    12         readCipher  Lsun/security/ssl/SSLCipher$SSLReadCipher;
           54   55    13                gse  Ljava/security/GeneralSecurityException;
      Exception table:
        from    to  target  type
          25    31      32  Class java.security.NoSuchAlgorithmException
          25    31      32  Class java.security.InvalidKeyException
          47    52      53  Class java.security.GeneralSecurityException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  
      message  
}
SourceFile: "ChangeCipherSpec.java"
NestHost: sun.security.ssl.ChangeCipherSpec
InnerClasses:
  abstract MAC = sun.security.ssl.Authenticator$MAC of sun.security.ssl.Authenticator
  private final T10ChangeCipherSpecConsumer = sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecConsumer of sun.security.ssl.ChangeCipherSpec
  final MacAlg = sun.security.ssl.CipherSuite$MacAlg of sun.security.ssl.CipherSuite
  abstract SSLReadCipher = sun.security.ssl.SSLCipher$SSLReadCipher of sun.security.ssl.SSLCipher
  final LegacyTrafficKeyDerivation = sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation of sun.security.ssl.SSLTrafficKeyDerivation