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 842
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 844
            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 850
            aload 1 /* context */
            checkcast sun.security.ssl.HandshakeContext
            astore 3 /* hc */
        start local 3 // sun.security.ssl.HandshakeContext hc
         1: .line 851
            aload 3 /* hc */
            getfield sun.security.ssl.HandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
            getfield sun.security.ssl.SSLConfiguration.isClientMode:Z
            ifeq 6
         2: .line 852
            aload 0 /* this */
         3: .line 853
            aload 1 /* context */
            checkcast sun.security.ssl.ClientHandshakeContext
            aload 2 /* message */
         4: .line 852
            invokevirtual sun.security.ssl.Finished$T13FinishedConsumer.onConsumeFinished:(Lsun/security/ssl/ClientHandshakeContext;Ljava/nio/ByteBuffer;)V
         5: .line 854
            goto 9
         6: .line 855
      StackMap locals: sun.security.ssl.HandshakeContext
      StackMap stack:
            aload 0 /* this */
         7: .line 856
            aload 1 /* context */
            checkcast sun.security.ssl.ServerHandshakeContext
            aload 2 /* message */
         8: .line 855
            invokevirtual sun.security.ssl.Finished$T13FinishedConsumer.onConsumeFinished:(Lsun/security/ssl/ServerHandshakeContext;Ljava/nio/ByteBuffer;)V
         9: .line 858
      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 864
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.isResumption:Z
            ifne 12
         1: .line 865
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
         2: .line 866
            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 865
            invokevirtual java.util.LinkedHashMap.containsKey:(Ljava/lang/Object;)Z
         4: .line 866
            ifne 9
         5: .line 867
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
         6: .line 868
            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 867
            invokevirtual java.util.LinkedHashMap.containsKey:(Ljava/lang/Object;)Z
         8: .line 868
            ifeq 12
         9: .line 869
      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 870
            ldc "Unexpected Finished handshake message"
        11: .line 869
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        12: .line 874
      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 875
            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 877
            ldc "Consuming server Finished handshake message"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* fm */
            aastore
        15: .line 876
            invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 881
      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 882
            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 895
      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 899
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeHash:Lsun/security/ssl/HandshakeHash;
            invokevirtual sun.security.ssl.HandshakeHash.update:()V
        20: .line 900
            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 901
            aload 4 /* kd */
            ifnonnull 25
        22: .line 903
            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 904
            ldc "no key derivation"
        24: .line 903
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        25: .line 908
      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 907
            astore 5 /* kdg */
        start local 5 // sun.security.ssl.SSLTrafficKeyDerivation kdg
        27: .line 909
            aload 5 /* kdg */
            ifnonnull 33
        28: .line 911
            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 912
            new java.lang.StringBuilder
            dup
            ldc "Not supported key derivation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        30: .line 913
            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 912
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 911
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        33: .line 917
      StackMap locals: sun.security.ssl.SSLTrafficKeyDerivation
      StackMap stack:
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.isResumption:Z
            ifne 37
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.isRejoinable:()Z
            ifeq 37
        34: .line 919
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.engineGetClientSessionContext:()Ljavax/net/ssl/SSLSessionContext;
        35: .line 918
            checkcast sun.security.ssl.SSLSessionContextImpl
            astore 6 /* sessionContext */
        start local 6 // sun.security.ssl.SSLSessionContextImpl sessionContext
        36: .line 920
            aload 6 /* sessionContext */
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionContextImpl.put:(Lsun/security/ssl/SSLSessionImpl;)V
        end local 6 // sun.security.ssl.SSLSessionContextImpl sessionContext
        37: .line 925
      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
        38: .line 928
            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
        39: .line 929
            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
        40: .line 930
            aload 7 /* hashAlg */
            getfield sun.security.ssl.CipherSuite$HashAlg.hashLength:I
            newarray 8
            astore 9 /* zeros */
        start local 9 // byte[] zeros
        41: .line 932
            new javax.crypto.spec.SecretKeySpec
            dup
            aload 9 /* zeros */
            ldc "TlsZeroSecret"
            invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
        42: .line 931
            astore 10 /* sharedSecret */
        start local 10 // javax.crypto.spec.SecretKeySpec sharedSecret
        43: .line 934
            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;
        44: .line 933
            astore 11 /* masterSecret */
        start local 11 // javax.crypto.SecretKey masterSecret
        45: .line 937
            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
        46: .line 936
            astore 12 /* secretKD */
        start local 12 // sun.security.ssl.SSLKeyDerivation secretKD
        47: .line 940
            aload 12 /* secretKD */
        48: .line 941
            ldc "TlsServerAppTrafficSecret"
            aconst_null
        49: .line 940
            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
        50: .line 943
            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;
        51: .line 942
            astore 14 /* writeKD */
        start local 14 // sun.security.ssl.SSLKeyDerivation writeKD
        52: .line 944
            aload 14 /* writeKD */
        53: .line 945
            ldc "TlsKey"
            aconst_null
        54: .line 944
            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
        55: .line 946
            aload 14 /* writeKD */
        56: .line 947
            ldc "TlsIv"
            aconst_null
        57: .line 946
            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
        58: .line 949
            new javax.crypto.spec.IvParameterSpec
            dup
            aload 16 /* readIvSecret */
            invokeinterface javax.crypto.SecretKey.getEncoded:()[B
            invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
        59: .line 948
            astore 17 /* readIv */
        start local 17 // javax.crypto.spec.IvParameterSpec readIv
        60: .line 951
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.bulkCipher:Lsun/security/ssl/SSLCipher;
        61: .line 952
            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;
        62: .line 953
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            aload 15 /* readKey */
            aload 17 /* readIv */
        63: .line 954
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
        64: .line 951
            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;
        65: .line 950
            astore 18 /* readCipher */
        start local 18 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
        66: .line 956
            aload 18 /* readCipher */
            ifnonnull 73
        67: .line 957
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.ILLEGAL_PARAMETER:Lsun/security/ssl/Alert;
        68: .line 958
            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;
        69: .line 959
            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;
        70: .line 960
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        71: .line 958
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        72: .line 957
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        73: .line 963
      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;
        74: .line 964
            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
        75: .line 967
            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
        76: .line 968
            goto 81
      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
        77: astore 6 /* gse */
        start local 6 // java.security.GeneralSecurityException gse
        78: .line 969
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
        79: .line 970
            ldc "Failure to derive application secrets"
            aload 6 /* gse */
        80: .line 969
            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
        81: .line 976
      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;
        82: .line 977
            getstatic sun.security.ssl.SSLHandshake.FINISHED:Lsun/security/ssl/SSLHandshake;
        83: .line 976
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        84: .line 978
            iconst_3
            anewarray sun.security.ssl.SSLHandshake
            dup
            iconst_0
        85: .line 980
            getstatic sun.security.ssl.SSLHandshake.CERTIFICATE:Lsun/security/ssl/SSLHandshake;
            aastore
            dup
            iconst_1
        86: .line 981
            getstatic sun.security.ssl.SSLHandshake.CERTIFICATE_VERIFY:Lsun/security/ssl/SSLHandshake;
            aastore
            dup
            iconst_2
        87: .line 982
            getstatic sun.security.ssl.SSLHandshake.FINISHED:Lsun/security/ssl/SSLHandshake;
            aastore
        88: .line 978
            astore 6 /* probableHandshakeMessages */
        start local 6 // sun.security.ssl.SSLHandshake[] probableHandshakeMessages
        89: .line 985
            aload 6 /* probableHandshakeMessages */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 96
      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:
        90: aload 10
            iload 8
            aaload
            astore 7 /* hs */
        start local 7 // sun.security.ssl.SSLHandshake hs
        91: .line 987
            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
        92: .line 986
            astore 11 /* handshakeProducer */
        start local 11 // sun.security.ssl.HandshakeProducer handshakeProducer
        93: .line 988
            aload 11 /* handshakeProducer */
            ifnull 95
        94: .line 989
            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
        95: .line 985
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        96: iload 8
            iload 9
            if_icmplt 90
        97: .line 992
            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   98     0                       this  Lsun/security/ssl/Finished$T13FinishedConsumer;
            0   98     1                        chc  Lsun/security/ssl/ClientHandshakeContext;
            0   98     2                    message  Ljava/nio/ByteBuffer;
           13   98     3                         fm  Lsun/security/ssl/Finished$FinishedMessage;
           21   98     4                         kd  Lsun/security/ssl/SSLKeyDerivation;
           27   98     5                        kdg  Lsun/security/ssl/SSLTrafficKeyDerivation;
           36   37     6             sessionContext  Lsun/security/ssl/SSLSessionContextImpl;
           38   76     6                 saltSecret  Ljavax/crypto/SecretKey;
           39   76     7                    hashAlg  Lsun/security/ssl/CipherSuite$HashAlg;
           40   76     8                       hkdf  Lsun/security/ssl/HKDF;
           41   76     9                      zeros  [B
           43   76    10               sharedSecret  Ljavax/crypto/spec/SecretKeySpec;
           45   76    11               masterSecret  Ljavax/crypto/SecretKey;
           47   76    12                   secretKD  Lsun/security/ssl/SSLKeyDerivation;
           50   76    13                 readSecret  Ljavax/crypto/SecretKey;
           52   76    14                    writeKD  Lsun/security/ssl/SSLKeyDerivation;
           55   76    15                    readKey  Ljavax/crypto/SecretKey;
           58   76    16               readIvSecret  Ljavax/crypto/SecretKey;
           60   76    17                     readIv  Ljavax/crypto/spec/IvParameterSpec;
           66   76    18                 readCipher  Lsun/security/ssl/SSLCipher$SSLReadCipher;
           78   81     6                        gse  Ljava/security/GeneralSecurityException;
           89   98     6  probableHandshakeMessages  [Lsun/security/ssl/SSLHandshake;
           91   95     7                         hs  Lsun/security/ssl/SSLHandshake;
           93   95    11          handshakeProducer  Lsun/security/ssl/HandshakeProducer;
      Exception table:
        from    to  target  type
          37    76      77  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 998
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.isResumption:Z
            ifne 12
         1: .line 999
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
         2: .line 1000
            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 999
            invokevirtual java.util.LinkedHashMap.containsKey:(Ljava/lang/Object;)Z
         4: .line 1000
            ifne 9
         5: .line 1001
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
         6: .line 1002
            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 1001
            invokevirtual java.util.LinkedHashMap.containsKey:(Ljava/lang/Object;)Z
         8: .line 1002
            ifeq 12
         9: .line 1003
      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 1004
            ldc "Unexpected Finished handshake message"
        11: .line 1003
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        12: .line 1008
      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 1009
            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 1011
            ldc "Consuming client Finished handshake message"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* fm */
            aastore
        15: .line 1010
            invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 1014
      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 1015
            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 1027
      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 1028
            aload 4 /* kd */
            ifnonnull 23
        20: .line 1030
            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 1031
            ldc "no key derivation"
        22: .line 1030
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        23: .line 1035
      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 1034
            astore 5 /* kdg */
        start local 5 // sun.security.ssl.SSLTrafficKeyDerivation kdg
        25: .line 1036
            aload 5 /* kdg */
            ifnonnull 31
        26: .line 1038
            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 1039
            new java.lang.StringBuilder
            dup
            ldc "Not supported key derivation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        28: .line 1040
            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 1039
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 1038
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        31: .line 1044
      StackMap locals: sun.security.ssl.SSLTrafficKeyDerivation
      StackMap stack:
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.isResumption:Z
            ifne 35
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.isRejoinable:()Z
            ifeq 35
        32: .line 1046
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.engineGetServerSessionContext:()Ljavax/net/ssl/SSLSessionContext;
        33: .line 1045
            checkcast sun.security.ssl.SSLSessionContextImpl
            astore 6 /* sessionContext */
        start local 6 // sun.security.ssl.SSLSessionContextImpl sessionContext
        34: .line 1047
            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
        35: .line 1052
      StackMap locals:
      StackMap stack:
            aload 4 /* kd */
        36: .line 1053
            ldc "TlsClientAppTrafficSecret"
            aconst_null
        37: .line 1052
            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
        38: .line 1056
            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;
        39: .line 1055
            astore 7 /* readKD */
        start local 7 // sun.security.ssl.SSLKeyDerivation readKD
        40: .line 1057
            aload 7 /* readKD */
        41: .line 1058
            ldc "TlsKey"
            aconst_null
        42: .line 1057
            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
        43: .line 1059
            aload 7 /* readKD */
        44: .line 1060
            ldc "TlsIv"
            aconst_null
        45: .line 1059
            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
        46: .line 1062
            new javax.crypto.spec.IvParameterSpec
            dup
            aload 9 /* readIvSecret */
            invokeinterface javax.crypto.SecretKey.getEncoded:()[B
            invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
        47: .line 1061
            astore 10 /* readIv */
        start local 10 // javax.crypto.spec.IvParameterSpec readIv
        48: .line 1064
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.bulkCipher:Lsun/security/ssl/SSLCipher;
        49: .line 1065
            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;
        50: .line 1066
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
            aload 8 /* readKey */
            aload 10 /* readIv */
        51: .line 1067
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
        52: .line 1064
            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;
        53: .line 1063
            astore 11 /* readCipher */
        start local 11 // sun.security.ssl.SSLCipher$SSLReadCipher readCipher
        54: .line 1069
            aload 11 /* readCipher */
            ifnonnull 61
        55: .line 1070
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.ILLEGAL_PARAMETER:Lsun/security/ssl/Alert;
        56: .line 1071
            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;
        57: .line 1072
            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;
        58: .line 1073
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        59: .line 1071
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        60: .line 1070
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        61: .line 1076
      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;
        62: .line 1077
            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
        63: .line 1081
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeHash:Lsun/security/ssl/HandshakeHash;
            invokevirtual sun.security.ssl.HandshakeHash.update:()V
        64: .line 1083
            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;
        65: .line 1082
            astore 12 /* sd */
        start local 12 // sun.security.ssl.SSLSecretDerivation sd
        66: .line 1084
            aload 12 /* sd */
        67: .line 1085
            ldc "TlsResumptionMasterSecret"
            aconst_null
        68: .line 1084
            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
        69: .line 1086
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
        70: .line 1087
            aload 13 /* resumptionMasterSecret */
        71: .line 1086
            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
        72: .line 1088
            goto 77
      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
        73: astore 6 /* gse */
        start local 6 // java.security.GeneralSecurityException gse
        74: .line 1089
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
        75: .line 1090
            ldc "Failure to derive application secrets"
            aload 6 /* gse */
        76: .line 1089
            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
        77: .line 1094
      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;
        78: .line 1095
            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;
        79: .line 1098
            aload 1 /* shc */
            iconst_1
            putfield sun.security.ssl.ServerHandshakeContext.handshakeFinished:Z
        80: .line 1100
            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
        81: .line 1104
            getstatic sun.security.ssl.SSLLogger.isOn:Z
            ifeq 84
            ldc "ssl,handshake"
            invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
            ifeq 84
        82: .line 1106
            ldc "Sending new session ticket"
            iconst_0
            anewarray java.lang.Object
        83: .line 1105
            invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
        84: .line 1108
      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
        85: .line 1110
            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   86     0                    this  Lsun/security/ssl/Finished$T13FinishedConsumer;
            0   86     1                     shc  Lsun/security/ssl/ServerHandshakeContext;
            0   86     2                 message  Ljava/nio/ByteBuffer;
           13   86     3                      fm  Lsun/security/ssl/Finished$FinishedMessage;
           19   86     4                      kd  Lsun/security/ssl/SSLKeyDerivation;
           25   86     5                     kdg  Lsun/security/ssl/SSLTrafficKeyDerivation;
           34   35     6          sessionContext  Lsun/security/ssl/SSLSessionContextImpl;
           38   72     6              readSecret  Ljavax/crypto/SecretKey;
           40   72     7                  readKD  Lsun/security/ssl/SSLKeyDerivation;
           43   72     8                 readKey  Ljavax/crypto/SecretKey;
           46   72     9            readIvSecret  Ljavax/crypto/SecretKey;
           48   72    10                  readIv  Ljavax/crypto/spec/IvParameterSpec;
           54   72    11              readCipher  Lsun/security/ssl/SSLCipher$SSLReadCipher;
           66   72    12                      sd  Lsun/security/ssl/SSLSecretDerivation;
           69   72    13  resumptionMasterSecret  Ljavax/crypto/SecretKey;
           74   77     6                     gse  Ljava/security/GeneralSecurityException;
      Exception table:
        from    to  target  type
          35    72      73  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