final class sun.security.ssl.Finished$T13FinishedConsumer implements sun.security.ssl.SSLConsumer
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.Finished$T13FinishedConsumer
  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.Finished$T13FinishedConsumer this
         0: .line 876
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 878
            return
        end local 0 // sun.security.ssl.Finished$T13FinishedConsumer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/ssl/Finished$T13FinishedConsumer;

  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=3, locals=4, args_size=3
        start local 0 // sun.security.ssl.Finished$T13FinishedConsumer this
        start local 1 // sun.security.ssl.ConnectionContext context
        start local 2 // java.nio.ByteBuffer message
         0: .line 884
            aload 1 /* context */
            checkcast sun.security.ssl.HandshakeContext
            astore 3 /* hc */
        start local 3 // sun.security.ssl.HandshakeContext hc
         1: .line 885
            aload 3 /* hc */
            getfield sun.security.ssl.HandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
            getfield sun.security.ssl.SSLConfiguration.isClientMode:Z
            ifeq 6
         2: .line 886
            aload 0 /* this */
         3: .line 887
            aload 1 /* context */
            checkcast sun.security.ssl.ClientHandshakeContext
            aload 2 /* message */
         4: .line 886
            invokevirtual sun.security.ssl.Finished$T13FinishedConsumer.onConsumeFinished:(Lsun/security/ssl/ClientHandshakeContext;Ljava/nio/ByteBuffer;)V
         5: .line 888
            goto 9
         6: .line 889
      StackMap locals: sun.security.ssl.HandshakeContext
      StackMap stack:
            aload 0 /* this */
         7: .line 890
            aload 1 /* context */
            checkcast sun.security.ssl.ServerHandshakeContext
            aload 2 /* message */
         8: .line 889
            invokevirtual sun.security.ssl.Finished$T13FinishedConsumer.onConsumeFinished:(Lsun/security/ssl/ServerHandshakeContext;Ljava/nio/ByteBuffer;)V
         9: .line 892
      StackMap locals:
      StackMap stack:
            return
        end local 3 // sun.security.ssl.HandshakeContext hc
        end local 2 // java.nio.ByteBuffer message
        end local 1 // sun.security.ssl.ConnectionContext context
        end local 0 // sun.security.ssl.Finished$T13FinishedConsumer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lsun/security/ssl/Finished$T13FinishedConsumer;
            0   10     1  context  Lsun/security/ssl/ConnectionContext;
            0   10     2  message  Ljava/nio/ByteBuffer;
            1   10     3       hc  Lsun/security/ssl/HandshakeContext;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  
      message  

  private void onConsumeFinished(sun.security.ssl.ClientHandshakeContext, java.nio.ByteBuffer);
    descriptor: (Lsun/security/ssl/ClientHandshakeContext;Ljava/nio/ByteBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=19, args_size=3
        start local 0 // sun.security.ssl.Finished$T13FinishedConsumer this
        start local 1 // sun.security.ssl.ClientHandshakeContext chc
        start local 2 // java.nio.ByteBuffer message
         0: .line 898
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.isResumption:Z
            ifne 12
         1: .line 899
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
         2: .line 900
            getstatic sun.security.ssl.SSLHandshake.CERTIFICATE:Lsun/security/ssl/SSLHandshake;
            getfield sun.security.ssl.SSLHandshake.id:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
         3: .line 899
            invokevirtual java.util.LinkedHashMap.containsKey:(Ljava/lang/Object;)Z
         4: .line 900
            ifne 9
         5: .line 901
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
         6: .line 902
            getstatic sun.security.ssl.SSLHandshake.CERTIFICATE_VERIFY:Lsun/security/ssl/SSLHandshake;
            getfield sun.security.ssl.SSLHandshake.id:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
         7: .line 901
            invokevirtual java.util.LinkedHashMap.containsKey:(Ljava/lang/Object;)Z
         8: .line 902
            ifeq 12
         9: .line 903
      StackMap locals:
      StackMap stack:
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
        10: .line 904
            ldc "Unexpected Finished handshake message"
        11: .line 903
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        12: .line 908
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.Finished$FinishedMessage
            dup
            aload 1 /* chc */
            aload 2 /* message */
            invokespecial sun.security.ssl.Finished$FinishedMessage.<init>:(Lsun/security/ssl/HandshakeContext;Ljava/nio/ByteBuffer;)V
            astore 3 /* fm */
        start local 3 // sun.security.ssl.Finished$FinishedMessage fm
        13: .line 909
            getstatic sun.security.ssl.SSLLogger.isOn:Z
            ifeq 16
            ldc "ssl,handshake"
            invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
            ifeq 16
        14: .line 911
            ldc "Consuming server Finished handshake message"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* fm */
            aastore
        15: .line 910
            invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 915
      StackMap locals: sun.security.ssl.Finished$FinishedMessage
      StackMap stack:
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.secureRenegotiation:Z
            ifeq 18
        17: .line 916
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            aload 3 /* fm */
            getfield sun.security.ssl.Finished$FinishedMessage.verifyData:[B
            putfield sun.security.ssl.TransportContext.serverVerifyData:[B
        18: .line 929
      StackMap locals:
      StackMap stack:
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            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
        19: .line 933
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeHash:Lsun/security/ssl/HandshakeHash;
            invokevirtual sun.security.ssl.HandshakeHash.update:()V
        20: .line 934
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeKeyDerivation:Lsun/security/ssl/SSLKeyDerivation;
            astore 4 /* kd */
        start local 4 // sun.security.ssl.SSLKeyDerivation kd
        21: .line 935
            aload 4 /* kd */
            ifnonnull 25
        22: .line 937
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
        23: .line 938
            ldc "no key derivation"
        24: .line 937
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        25: .line 942
      StackMap locals: sun.security.ssl.SSLKeyDerivation
      StackMap stack:
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            invokestatic sun.security.ssl.SSLTrafficKeyDerivation.valueOf:(Lsun/security/ssl/ProtocolVersion;)Lsun/security/ssl/SSLTrafficKeyDerivation;
        26: .line 941
            astore 5 /* kdg */
        start local 5 // sun.security.ssl.SSLTrafficKeyDerivation kdg
        27: .line 943
            aload 5 /* kdg */
            ifnonnull 33
        28: .line 945
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
        29: .line 946
            new java.lang.StringBuilder
            dup
            ldc "Not supported key derivation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        30: .line 947
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        31: .line 946
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 945
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        33: .line 951
      StackMap locals: sun.security.ssl.SSLTrafficKeyDerivation
      StackMap stack:
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.isResumption:Z
            ifne 38
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.isRejoinable:()Z
            ifeq 38
        34: .line 952
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
        35: .line 953
            invokevirtual sun.security.ssl.SSLContextImpl.engineGetClientSessionContext:()Ljavax/net/ssl/SSLSessionContext;
        36: .line 952
            checkcast sun.security.ssl.SSLSessionContextImpl
        37: .line 954
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionContextImpl.put:(Lsun/security/ssl/SSLSessionImpl;)V
        38: .line 959
      StackMap locals:
      StackMap stack:
            aload 4 /* kd */
            ldc "TlsSaltSecret"
            aconst_null
            invokeinterface sun.security.ssl.SSLKeyDerivation.deriveKey:(Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)Ljavax/crypto/SecretKey;
            astore 6 /* saltSecret */
        start local 6 // javax.crypto.SecretKey saltSecret
        39: .line 962
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.hashAlg:Lsun/security/ssl/CipherSuite$HashAlg;
            astore 7 /* hashAlg */
        start local 7 // sun.security.ssl.CipherSuite$HashAlg hashAlg
        40: .line 963
            new sun.security.ssl.HKDF
            dup
            aload 7 /* hashAlg */
            getfield sun.security.ssl.CipherSuite$HashAlg.name:Ljava/lang/String;
            invokespecial sun.security.ssl.HKDF.<init>:(Ljava/lang/String;)V
            astore 8 /* hkdf */
        start local 8 // sun.security.ssl.HKDF hkdf
        41: .line 964
            aload 7 /* hashAlg */
            getfield sun.security.ssl.CipherSuite$HashAlg.hashLength:I
            newarray 8
            astore 9 /* zeros */
        start local 9 // byte[] zeros
        42: .line 966
            new javax.crypto.spec.SecretKeySpec
            dup
            aload 9 /* zeros */
            ldc "TlsZeroSecret"
            invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
        43: .line 965
            astore 10 /* sharedSecret */
        start local 10 // javax.crypto.spec.SecretKeySpec sharedSecret
        44: .line 968
            aload 8 /* hkdf */
            aload 6 /* saltSecret */
            aload 10 /* sharedSecret */
            ldc "TlsMasterSecret"
            invokevirtual sun.security.ssl.HKDF.extract:(Ljavax/crypto/SecretKey;Ljavax/crypto/SecretKey;Ljava/lang/String;)Ljavax/crypto/SecretKey;
        45: .line 967
            astore 11 /* masterSecret */
        start local 11 // javax.crypto.SecretKey masterSecret
        46: .line 971
            new sun.security.ssl.SSLSecretDerivation
            dup
            aload 1 /* chc */
            aload 11 /* masterSecret */
            invokespecial sun.security.ssl.SSLSecretDerivation.<init>:(Lsun/security/ssl/HandshakeContext;Ljavax/crypto/SecretKey;)V
        47: .line 970
            astore 12 /* secretKD */
        start local 12 // sun.security.ssl.SSLKeyDerivation secretKD
        48: .line 974
            aload 12 /* secretKD */
        49: .line 975
            ldc "TlsServerAppTrafficSecret"
            aconst_null
        50: .line 974
            invokeinterface sun.security.ssl.SSLKeyDerivation.deriveKey:(Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)Ljavax/crypto/SecretKey;
            astore 13 /* readSecret */
        start local 13 // javax.crypto.SecretKey readSecret
        51: .line 977
            aload 5 /* kdg */
            aload 1 /* chc */
            aload 13 /* readSecret */
            invokevirtual sun.security.ssl.SSLTrafficKeyDerivation.createKeyDerivation:(Lsun/security/ssl/HandshakeContext;Ljavax/crypto/SecretKey;)Lsun/security/ssl/SSLKeyDerivation;
        52: .line 976
            astore 14 /* writeKD */
        start local 14 // sun.security.ssl.SSLKeyDerivation writeKD
        53: .line 978
            aload 14 /* writeKD */
        54: .line 979
            ldc "TlsKey"
            aconst_null
        55: .line 978
            invokeinterface sun.security.ssl.SSLKeyDerivation.deriveKey:(Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)Ljavax/crypto/SecretKey;
            astore 15 /* readKey */
        start local 15 // javax.crypto.SecretKey readKey
        56: .line 980
            aload 14 /* writeKD */
        57: .line 981
            ldc "TlsIv"
            aconst_null
        58: .line 980
            invokeinterface sun.security.ssl.SSLKeyDerivation.deriveKey:(Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)Ljavax/crypto/SecretKey;
            astore 16 /* readIvSecret */
        start local 16 // javax.crypto.SecretKey readIvSecret
        59: .line 983
            new javax.crypto.spec.IvParameterSpec
            dup
            aload 16 /* readIvSecret */
            invokeinterface javax.crypto.SecretKey.getEncoded:()[B
            invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
        60: .line 982
            astore 17 /* readIv */
        start local 17 // javax.crypto.spec.IvParameterSpec readIv
        61: .line 985
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.bulkCipher:Lsun/security/ssl/SSLCipher;
        62: .line 986
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            invokestatic sun.security.ssl.Authenticator.valueOf:(Lsun/security/ssl/ProtocolVersion;)Lsun/security/ssl/Authenticator;
        63: .line 987
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            aload 15 /* readKey */
            aload 17 /* readIv */
        64: .line 988
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
        65: .line 985
            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;
        66: .line 984
            astore 18 /* readCipher */
        start local 18 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
        67: .line 990
            aload 18 /* readCipher */
            ifnonnull 74
        68: .line 991
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.ILLEGAL_PARAMETER:Lsun/security/ssl/Alert;
        69: .line 992
            new java.lang.StringBuilder
            dup
            ldc "Illegal cipher suite ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        70: .line 993
            ldc ") and protocol version ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        71: .line 994
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        72: .line 992
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        73: .line 991
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        74: .line 997
      StackMap locals: sun.security.ssl.Finished$T13FinishedConsumer sun.security.ssl.ClientHandshakeContext java.nio.ByteBuffer sun.security.ssl.Finished$FinishedMessage sun.security.ssl.SSLKeyDerivation sun.security.ssl.SSLTrafficKeyDerivation javax.crypto.SecretKey sun.security.ssl.CipherSuite$HashAlg sun.security.ssl.HKDF byte[] javax.crypto.spec.SecretKeySpec javax.crypto.SecretKey sun.security.ssl.SSLKeyDerivation javax.crypto.SecretKey sun.security.ssl.SSLKeyDerivation javax.crypto.SecretKey javax.crypto.SecretKey javax.crypto.spec.IvParameterSpec sun.security.ssl.SSLCipher$SSLReadCipher
      StackMap stack:
            aload 1 /* chc */
            aload 13 /* readSecret */
            putfield sun.security.ssl.ClientHandshakeContext.baseReadSecret:Ljavax/crypto/SecretKey;
        75: .line 998
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
            aload 18 /* readCipher */
            invokevirtual sun.security.ssl.InputRecord.changeReadCiphers:(Lsun/security/ssl/SSLCipher$SSLReadCipher;)V
        76: .line 1001
            aload 1 /* chc */
            aload 12 /* secretKD */
            putfield sun.security.ssl.ClientHandshakeContext.handshakeKeyDerivation:Lsun/security/ssl/SSLKeyDerivation;
        end local 18 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
        end local 17 // javax.crypto.spec.IvParameterSpec readIv
        end local 16 // javax.crypto.SecretKey readIvSecret
        end local 15 // javax.crypto.SecretKey readKey
        end local 14 // sun.security.ssl.SSLKeyDerivation writeKD
        end local 13 // javax.crypto.SecretKey readSecret
        end local 12 // sun.security.ssl.SSLKeyDerivation secretKD
        end local 11 // javax.crypto.SecretKey masterSecret
        end local 10 // javax.crypto.spec.SecretKeySpec sharedSecret
        end local 9 // byte[] zeros
        end local 8 // sun.security.ssl.HKDF hkdf
        end local 7 // sun.security.ssl.CipherSuite$HashAlg hashAlg
        end local 6 // javax.crypto.SecretKey saltSecret
        77: .line 1002
            goto 82
      StackMap locals: sun.security.ssl.Finished$T13FinishedConsumer sun.security.ssl.ClientHandshakeContext java.nio.ByteBuffer sun.security.ssl.Finished$FinishedMessage sun.security.ssl.SSLKeyDerivation sun.security.ssl.SSLTrafficKeyDerivation
      StackMap stack: java.security.GeneralSecurityException
        78: astore 6 /* gse */
        start local 6 // java.security.GeneralSecurityException gse
        79: .line 1003
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
        80: .line 1004
            ldc "Failure to derive application secrets"
            aload 6 /* gse */
        81: .line 1003
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
            athrow
        end local 6 // java.security.GeneralSecurityException gse
        82: .line 1010
      StackMap locals:
      StackMap stack:
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeProducers:Ljava/util/HashMap;
            getstatic sun.security.ssl.SSLHandshake.FINISHED:Lsun/security/ssl/SSLHandshake;
            getfield sun.security.ssl.SSLHandshake.id:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
        83: .line 1011
            getstatic sun.security.ssl.SSLHandshake.FINISHED:Lsun/security/ssl/SSLHandshake;
        84: .line 1010
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        85: .line 1012
            iconst_3
            anewarray sun.security.ssl.SSLHandshake
            dup
            iconst_0
        86: .line 1014
            getstatic sun.security.ssl.SSLHandshake.CERTIFICATE:Lsun/security/ssl/SSLHandshake;
            aastore
            dup
            iconst_1
        87: .line 1015
            getstatic sun.security.ssl.SSLHandshake.CERTIFICATE_VERIFY:Lsun/security/ssl/SSLHandshake;
            aastore
            dup
            iconst_2
        88: .line 1016
            getstatic sun.security.ssl.SSLHandshake.FINISHED:Lsun/security/ssl/SSLHandshake;
            aastore
        89: .line 1012
            astore 6 /* probableHandshakeMessages */
        start local 6 // sun.security.ssl.SSLHandshake[] probableHandshakeMessages
        90: .line 1019
            aload 6 /* probableHandshakeMessages */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 97
      StackMap locals: sun.security.ssl.Finished$T13FinishedConsumer sun.security.ssl.ClientHandshakeContext java.nio.ByteBuffer sun.security.ssl.Finished$FinishedMessage sun.security.ssl.SSLKeyDerivation sun.security.ssl.SSLTrafficKeyDerivation sun.security.ssl.SSLHandshake[] top int int sun.security.ssl.SSLHandshake[]
      StackMap stack:
        91: aload 10
            iload 8
            aaload
            astore 7 /* hs */
        start local 7 // sun.security.ssl.SSLHandshake hs
        92: .line 1021
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeProducers:Ljava/util/HashMap;
            aload 7 /* hs */
            getfield sun.security.ssl.SSLHandshake.id:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.ssl.HandshakeProducer
        93: .line 1020
            astore 11 /* handshakeProducer */
        start local 11 // sun.security.ssl.HandshakeProducer handshakeProducer
        94: .line 1022
            aload 11 /* handshakeProducer */
            ifnull 96
        95: .line 1023
            aload 11 /* handshakeProducer */
            aload 1 /* chc */
            aconst_null
            invokeinterface sun.security.ssl.HandshakeProducer.produce:(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)[B
            pop
        end local 11 // sun.security.ssl.HandshakeProducer handshakeProducer
        end local 7 // sun.security.ssl.SSLHandshake hs
        96: .line 1019
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        97: iload 8
            iload 9
            if_icmplt 91
        98: .line 1026
            return
        end local 6 // sun.security.ssl.SSLHandshake[] probableHandshakeMessages
        end local 5 // sun.security.ssl.SSLTrafficKeyDerivation kdg
        end local 4 // sun.security.ssl.SSLKeyDerivation kd
        end local 3 // sun.security.ssl.Finished$FinishedMessage fm
        end local 2 // java.nio.ByteBuffer message
        end local 1 // sun.security.ssl.ClientHandshakeContext chc
        end local 0 // sun.security.ssl.Finished$T13FinishedConsumer this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   99     0                       this  Lsun/security/ssl/Finished$T13FinishedConsumer;
            0   99     1                        chc  Lsun/security/ssl/ClientHandshakeContext;
            0   99     2                    message  Ljava/nio/ByteBuffer;
           13   99     3                         fm  Lsun/security/ssl/Finished$FinishedMessage;
           21   99     4                         kd  Lsun/security/ssl/SSLKeyDerivation;
           27   99     5                        kdg  Lsun/security/ssl/SSLTrafficKeyDerivation;
           39   77     6                 saltSecret  Ljavax/crypto/SecretKey;
           40   77     7                    hashAlg  Lsun/security/ssl/CipherSuite$HashAlg;
           41   77     8                       hkdf  Lsun/security/ssl/HKDF;
           42   77     9                      zeros  [B
           44   77    10               sharedSecret  Ljavax/crypto/spec/SecretKeySpec;
           46   77    11               masterSecret  Ljavax/crypto/SecretKey;
           48   77    12                   secretKD  Lsun/security/ssl/SSLKeyDerivation;
           51   77    13                 readSecret  Ljavax/crypto/SecretKey;
           53   77    14                    writeKD  Lsun/security/ssl/SSLKeyDerivation;
           56   77    15                    readKey  Ljavax/crypto/SecretKey;
           59   77    16               readIvSecret  Ljavax/crypto/SecretKey;
           61   77    17                     readIv  Ljavax/crypto/spec/IvParameterSpec;
           67   77    18                 readCipher  Lsun/security/ssl/SSLCipher$SSLReadCipher;
           79   82     6                        gse  Ljava/security/GeneralSecurityException;
           90   99     6  probableHandshakeMessages  [Lsun/security/ssl/SSLHandshake;
           92   96     7                         hs  Lsun/security/ssl/SSLHandshake;
           94   96    11          handshakeProducer  Lsun/security/ssl/HandshakeProducer;
      Exception table:
        from    to  target  type
          38    77      78  Class java.security.GeneralSecurityException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      chc      
      message  

  private void onConsumeFinished(sun.security.ssl.ServerHandshakeContext, java.nio.ByteBuffer);
    descriptor: (Lsun/security/ssl/ServerHandshakeContext;Ljava/nio/ByteBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=14, args_size=3
        start local 0 // sun.security.ssl.Finished$T13FinishedConsumer this
        start local 1 // sun.security.ssl.ServerHandshakeContext shc
        start local 2 // java.nio.ByteBuffer message
         0: .line 1032
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.isResumption:Z
            ifne 12
         1: .line 1033
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
         2: .line 1034
            getstatic sun.security.ssl.SSLHandshake.CERTIFICATE:Lsun/security/ssl/SSLHandshake;
            getfield sun.security.ssl.SSLHandshake.id:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
         3: .line 1033
            invokevirtual java.util.LinkedHashMap.containsKey:(Ljava/lang/Object;)Z
         4: .line 1034
            ifne 9
         5: .line 1035
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
         6: .line 1036
            getstatic sun.security.ssl.SSLHandshake.CERTIFICATE_VERIFY:Lsun/security/ssl/SSLHandshake;
            getfield sun.security.ssl.SSLHandshake.id:B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
         7: .line 1035
            invokevirtual java.util.LinkedHashMap.containsKey:(Ljava/lang/Object;)Z
         8: .line 1036
            ifeq 12
         9: .line 1037
      StackMap locals:
      StackMap stack:
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
        10: .line 1038
            ldc "Unexpected Finished handshake message"
        11: .line 1037
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        12: .line 1042
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.Finished$FinishedMessage
            dup
            aload 1 /* shc */
            aload 2 /* message */
            invokespecial sun.security.ssl.Finished$FinishedMessage.<init>:(Lsun/security/ssl/HandshakeContext;Ljava/nio/ByteBuffer;)V
            astore 3 /* fm */
        start local 3 // sun.security.ssl.Finished$FinishedMessage fm
        13: .line 1043
            getstatic sun.security.ssl.SSLLogger.isOn:Z
            ifeq 16
            ldc "ssl,handshake"
            invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
            ifeq 16
        14: .line 1045
            ldc "Consuming client Finished handshake message"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* fm */
            aastore
        15: .line 1044
            invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 1048
      StackMap locals: sun.security.ssl.Finished$FinishedMessage
      StackMap stack:
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.secureRenegotiation:Z
            ifeq 18
        17: .line 1049
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            aload 3 /* fm */
            getfield sun.security.ssl.Finished$FinishedMessage.verifyData:[B
            putfield sun.security.ssl.TransportContext.clientVerifyData:[B
        18: .line 1061
      StackMap locals:
      StackMap stack:
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeKeyDerivation:Lsun/security/ssl/SSLKeyDerivation;
            astore 4 /* kd */
        start local 4 // sun.security.ssl.SSLKeyDerivation kd
        19: .line 1062
            aload 4 /* kd */
            ifnonnull 23
        20: .line 1064
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
        21: .line 1065
            ldc "no key derivation"
        22: .line 1064
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        23: .line 1069
      StackMap locals: sun.security.ssl.SSLKeyDerivation
      StackMap stack:
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            invokestatic sun.security.ssl.SSLTrafficKeyDerivation.valueOf:(Lsun/security/ssl/ProtocolVersion;)Lsun/security/ssl/SSLTrafficKeyDerivation;
        24: .line 1068
            astore 5 /* kdg */
        start local 5 // sun.security.ssl.SSLTrafficKeyDerivation kdg
        25: .line 1070
            aload 5 /* kdg */
            ifnonnull 31
        26: .line 1072
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
        27: .line 1073
            new java.lang.StringBuilder
            dup
            ldc "Not supported key derivation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        28: .line 1074
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        29: .line 1073
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 1072
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        31: .line 1078
      StackMap locals: sun.security.ssl.SSLTrafficKeyDerivation
      StackMap stack:
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.statelessResumption:Z
            ifne 36
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.isResumption:Z
            ifne 36
        32: .line 1079
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.isRejoinable:()Z
            ifeq 36
        33: .line 1081
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.engineGetServerSessionContext:()Ljavax/net/ssl/SSLSessionContext;
        34: .line 1080
            checkcast sun.security.ssl.SSLSessionContextImpl
            astore 6 /* sessionContext */
        start local 6 // sun.security.ssl.SSLSessionContextImpl sessionContext
        35: .line 1082
            aload 6 /* sessionContext */
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionContextImpl.put:(Lsun/security/ssl/SSLSessionImpl;)V
        end local 6 // sun.security.ssl.SSLSessionContextImpl sessionContext
        36: .line 1087
      StackMap locals:
      StackMap stack:
            aload 4 /* kd */
        37: .line 1088
            ldc "TlsClientAppTrafficSecret"
            aconst_null
        38: .line 1087
            invokeinterface sun.security.ssl.SSLKeyDerivation.deriveKey:(Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)Ljavax/crypto/SecretKey;
            astore 6 /* readSecret */
        start local 6 // javax.crypto.SecretKey readSecret
        39: .line 1091
            aload 5 /* kdg */
            aload 1 /* shc */
            aload 6 /* readSecret */
            invokevirtual sun.security.ssl.SSLTrafficKeyDerivation.createKeyDerivation:(Lsun/security/ssl/HandshakeContext;Ljavax/crypto/SecretKey;)Lsun/security/ssl/SSLKeyDerivation;
        40: .line 1090
            astore 7 /* readKD */
        start local 7 // sun.security.ssl.SSLKeyDerivation readKD
        41: .line 1092
            aload 7 /* readKD */
        42: .line 1093
            ldc "TlsKey"
            aconst_null
        43: .line 1092
            invokeinterface sun.security.ssl.SSLKeyDerivation.deriveKey:(Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)Ljavax/crypto/SecretKey;
            astore 8 /* readKey */
        start local 8 // javax.crypto.SecretKey readKey
        44: .line 1094
            aload 7 /* readKD */
        45: .line 1095
            ldc "TlsIv"
            aconst_null
        46: .line 1094
            invokeinterface sun.security.ssl.SSLKeyDerivation.deriveKey:(Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)Ljavax/crypto/SecretKey;
            astore 9 /* readIvSecret */
        start local 9 // javax.crypto.SecretKey readIvSecret
        47: .line 1097
            new javax.crypto.spec.IvParameterSpec
            dup
            aload 9 /* readIvSecret */
            invokeinterface javax.crypto.SecretKey.getEncoded:()[B
            invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
        48: .line 1096
            astore 10 /* readIv */
        start local 10 // javax.crypto.spec.IvParameterSpec readIv
        49: .line 1099
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.bulkCipher:Lsun/security/ssl/SSLCipher;
        50: .line 1100
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            invokestatic sun.security.ssl.Authenticator.valueOf:(Lsun/security/ssl/ProtocolVersion;)Lsun/security/ssl/Authenticator;
        51: .line 1101
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            aload 8 /* readKey */
            aload 10 /* readIv */
        52: .line 1102
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
        53: .line 1099
            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;
        54: .line 1098
            astore 11 /* readCipher */
        start local 11 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
        55: .line 1104
            aload 11 /* readCipher */
            ifnonnull 62
        56: .line 1105
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.ILLEGAL_PARAMETER:Lsun/security/ssl/Alert;
        57: .line 1106
            new java.lang.StringBuilder
            dup
            ldc "Illegal cipher suite ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        58: .line 1107
            ldc ") and protocol version ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        59: .line 1108
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        60: .line 1106
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        61: .line 1105
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        62: .line 1111
      StackMap locals: sun.security.ssl.Finished$T13FinishedConsumer sun.security.ssl.ServerHandshakeContext java.nio.ByteBuffer sun.security.ssl.Finished$FinishedMessage sun.security.ssl.SSLKeyDerivation sun.security.ssl.SSLTrafficKeyDerivation javax.crypto.SecretKey sun.security.ssl.SSLKeyDerivation javax.crypto.SecretKey javax.crypto.SecretKey javax.crypto.spec.IvParameterSpec sun.security.ssl.SSLCipher$SSLReadCipher
      StackMap stack:
            aload 1 /* shc */
            aload 6 /* readSecret */
            putfield sun.security.ssl.ServerHandshakeContext.baseReadSecret:Ljavax/crypto/SecretKey;
        63: .line 1112
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
            aload 11 /* readCipher */
            invokevirtual sun.security.ssl.InputRecord.changeReadCiphers:(Lsun/security/ssl/SSLCipher$SSLReadCipher;)V
        64: .line 1116
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeHash:Lsun/security/ssl/HandshakeHash;
            invokevirtual sun.security.ssl.HandshakeHash.update:()V
        65: .line 1118
            aload 4 /* kd */
            checkcast sun.security.ssl.SSLSecretDerivation
            aload 1 /* shc */
            invokevirtual sun.security.ssl.SSLSecretDerivation.forContext:(Lsun/security/ssl/HandshakeContext;)Lsun/security/ssl/SSLSecretDerivation;
        66: .line 1117
            astore 12 /* sd */
        start local 12 // sun.security.ssl.SSLSecretDerivation sd
        67: .line 1119
            aload 12 /* sd */
        68: .line 1120
            ldc "TlsResumptionMasterSecret"
            aconst_null
        69: .line 1119
            invokevirtual sun.security.ssl.SSLSecretDerivation.deriveKey:(Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)Ljavax/crypto/SecretKey;
            astore 13 /* resumptionMasterSecret */
        start local 13 // javax.crypto.SecretKey resumptionMasterSecret
        70: .line 1121
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
        71: .line 1122
            aload 13 /* resumptionMasterSecret */
        72: .line 1121
            invokevirtual sun.security.ssl.SSLSessionImpl.setResumptionMasterSecret:(Ljavax/crypto/SecretKey;)V
        end local 13 // javax.crypto.SecretKey resumptionMasterSecret
        end local 12 // sun.security.ssl.SSLSecretDerivation sd
        end local 11 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
        end local 10 // javax.crypto.spec.IvParameterSpec readIv
        end local 9 // javax.crypto.SecretKey readIvSecret
        end local 8 // javax.crypto.SecretKey readKey
        end local 7 // sun.security.ssl.SSLKeyDerivation readKD
        end local 6 // javax.crypto.SecretKey readSecret
        73: .line 1123
            goto 78
      StackMap locals: sun.security.ssl.Finished$T13FinishedConsumer sun.security.ssl.ServerHandshakeContext java.nio.ByteBuffer sun.security.ssl.Finished$FinishedMessage sun.security.ssl.SSLKeyDerivation sun.security.ssl.SSLTrafficKeyDerivation
      StackMap stack: java.security.GeneralSecurityException
        74: astore 6 /* gse */
        start local 6 // java.security.GeneralSecurityException gse
        75: .line 1124
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
        76: .line 1125
            ldc "Failure to derive application secrets"
            aload 6 /* gse */
        77: .line 1124
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
            athrow
        end local 6 // java.security.GeneralSecurityException gse
        78: .line 1129
      StackMap locals:
      StackMap stack:
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.finish:()Lsun/security/ssl/SSLSessionImpl;
            putfield sun.security.ssl.TransportContext.conSession:Lsun/security/ssl/SSLSessionImpl;
        79: .line 1130
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            putfield sun.security.ssl.TransportContext.protocolVersion:Lsun/security/ssl/ProtocolVersion;
        80: .line 1133
            aload 1 /* shc */
            iconst_1
            putfield sun.security.ssl.ServerHandshakeContext.handshakeFinished:Z
        81: .line 1136
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.isDTLS:()Z
            ifne 83
        82: .line 1137
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            invokevirtual sun.security.ssl.TransportContext.finishHandshake:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            pop
        83: .line 1139
      StackMap locals:
      StackMap stack:
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getfield sun.security.ssl.TransportContext.conSession:Lsun/security/ssl/SSLSessionImpl;
            invokestatic sun.security.ssl.Finished.recordEvent:(Lsun/security/ssl/SSLSessionImpl;)V
        84: .line 1143
            getstatic sun.security.ssl.SSLLogger.isOn:Z
            ifeq 87
            ldc "ssl,handshake"
            invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
            ifeq 87
        85: .line 1145
            ldc "Sending new session ticket"
            iconst_0
            anewarray java.lang.Object
        86: .line 1144
            invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
        87: .line 1147
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.NewSessionTicket.kickstartProducer:Lsun/security/ssl/SSLProducer;
            aload 1 /* shc */
            invokeinterface sun.security.ssl.SSLProducer.produce:(Lsun/security/ssl/ConnectionContext;)[B
            pop
        88: .line 1149
            return
        end local 5 // sun.security.ssl.SSLTrafficKeyDerivation kdg
        end local 4 // sun.security.ssl.SSLKeyDerivation kd
        end local 3 // sun.security.ssl.Finished$FinishedMessage fm
        end local 2 // java.nio.ByteBuffer message
        end local 1 // sun.security.ssl.ServerHandshakeContext shc
        end local 0 // sun.security.ssl.Finished$T13FinishedConsumer this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   89     0                    this  Lsun/security/ssl/Finished$T13FinishedConsumer;
            0   89     1                     shc  Lsun/security/ssl/ServerHandshakeContext;
            0   89     2                 message  Ljava/nio/ByteBuffer;
           13   89     3                      fm  Lsun/security/ssl/Finished$FinishedMessage;
           19   89     4                      kd  Lsun/security/ssl/SSLKeyDerivation;
           25   89     5                     kdg  Lsun/security/ssl/SSLTrafficKeyDerivation;
           35   36     6          sessionContext  Lsun/security/ssl/SSLSessionContextImpl;
           39   73     6              readSecret  Ljavax/crypto/SecretKey;
           41   73     7                  readKD  Lsun/security/ssl/SSLKeyDerivation;
           44   73     8                 readKey  Ljavax/crypto/SecretKey;
           47   73     9            readIvSecret  Ljavax/crypto/SecretKey;
           49   73    10                  readIv  Ljavax/crypto/spec/IvParameterSpec;
           55   73    11              readCipher  Lsun/security/ssl/SSLCipher$SSLReadCipher;
           67   73    12                      sd  Lsun/security/ssl/SSLSecretDerivation;
           70   73    13  resumptionMasterSecret  Ljavax/crypto/SecretKey;
           75   78     6                     gse  Ljava/security/GeneralSecurityException;
      Exception table:
        from    to  target  type
          36    73      74  Class java.security.GeneralSecurityException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      shc      
      message  
}
SourceFile: "Finished.java"
NestHost: sun.security.ssl.Finished
InnerClasses:
  public final HandshakeStatus = javax.net.ssl.SSLEngineResult$HandshakeStatus of javax.net.ssl.SSLEngineResult
  final HashAlg = sun.security.ssl.CipherSuite$HashAlg of sun.security.ssl.CipherSuite
  private final FinishedMessage = sun.security.ssl.Finished$FinishedMessage of sun.security.ssl.Finished
  private final T13FinishedConsumer = sun.security.ssl.Finished$T13FinishedConsumer of sun.security.ssl.Finished
  abstract SSLReadCipher = sun.security.ssl.SSLCipher$SSLReadCipher of sun.security.ssl.SSLCipher
  abstract HandshakeMessage = sun.security.ssl.SSLHandshake$HandshakeMessage of sun.security.ssl.SSLHandshake