final class sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage extends sun.security.ssl.SSLHandshake$HandshakeMessage
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage
  super_class: sun.security.ssl.SSLHandshake$HandshakeMessage
{
  private final sun.security.ssl.SignatureScheme signatureScheme;
    descriptor: Lsun/security/ssl/SignatureScheme;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final byte[] signature;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(sun.security.ssl.HandshakeContext, sun.security.ssl.X509Authentication$X509Possession);
    descriptor: (Lsun/security/ssl/HandshakeContext;Lsun/security/ssl/X509Authentication$X509Possession;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage this
        start local 1 // sun.security.ssl.HandshakeContext context
        start local 2 // sun.security.ssl.X509Authentication$X509Possession x509Possession
         0: .line 562
            aload 0 /* this */
            aload 1 /* context */
            invokespecial sun.security.ssl.SSLHandshake$HandshakeMessage.<init>:(Lsun/security/ssl/HandshakeContext;)V
         1: .line 565
            aload 1 /* context */
            checkcast sun.security.ssl.ClientHandshakeContext
            astore 3 /* chc */
        start local 3 // sun.security.ssl.ClientHandshakeContext chc
         2: .line 566
            aload 0 /* this */
         3: .line 567
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.peerRequestedSignatureSchemes:Ljava/util/List;
         4: .line 568
            aload 2 /* x509Possession */
            getfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
         5: .line 569
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
         6: .line 566
            invokestatic sun.security.ssl.SignatureScheme.getPreferableAlgorithm:(Ljava/util/List;Ljava/security/PrivateKey;Lsun/security/ssl/ProtocolVersion;)Lsun/security/ssl/SignatureScheme;
            putfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signatureScheme:Lsun/security/ssl/SignatureScheme;
         7: .line 570
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signatureScheme:Lsun/security/ssl/SignatureScheme;
            ifnonnull 11
         8: .line 573
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
         9: .line 574
            ldc "No preferred signature algorithm for CertificateVerify"
        10: .line 573
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        11: .line 577
      StackMap locals: sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage sun.security.ssl.HandshakeContext sun.security.ssl.X509Authentication$X509Possession sun.security.ssl.ClientHandshakeContext
      StackMap stack:
            aconst_null
            astore 4 /* temproary */
        start local 4 // byte[] temproary
        12: .line 580
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signatureScheme:Lsun/security/ssl/SignatureScheme;
            aload 2 /* x509Possession */
            getfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
            invokevirtual sun.security.ssl.SignatureScheme.getSignature:(Ljava/security/Key;)Ljava/security/Signature;
        13: .line 579
            astore 5 /* signer */
        start local 5 // java.security.Signature signer
        14: .line 581
            aload 5 /* signer */
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeHash:Lsun/security/ssl/HandshakeHash;
            invokevirtual sun.security.ssl.HandshakeHash.archived:()[B
            invokevirtual java.security.Signature.update:([B)V
        15: .line 582
            aload 5 /* signer */
            invokevirtual java.security.Signature.sign:()[B
            astore 4 /* temproary */
        end local 5 // java.security.Signature signer
        16: .line 583
            goto 29
        17: .line 584
      StackMap locals: sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage sun.security.ssl.HandshakeContext sun.security.ssl.X509Authentication$X509Possession sun.security.ssl.ClientHandshakeContext byte[]
      StackMap stack: java.security.GeneralSecurityException
            astore 5 /* nsae */
        start local 5 // java.security.GeneralSecurityException nsae
        18: .line 585
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
        19: .line 586
            new java.lang.StringBuilder
            dup
            ldc "Unsupported signature algorithm ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        20: .line 587
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signatureScheme:Lsun/security/ssl/SignatureScheme;
            getfield sun.security.ssl.SignatureScheme.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 588
            ldc ") used in CertificateVerify handshake message"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 586
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 588
            aload 5 /* nsae */
        24: .line 585
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
            athrow
        end local 5 // java.security.GeneralSecurityException nsae
        25: .line 589
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 5 /* ikse */
        start local 5 // java.security.GeneralSecurityException ikse
        26: .line 590
            aload 3 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
        27: .line 591
            ldc "Cannot produce CertificateVerify signature"
            aload 5 /* ikse */
        28: .line 590
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
            athrow
        end local 5 // java.security.GeneralSecurityException ikse
        29: .line 594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* temproary */
            putfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signature:[B
        30: .line 595
            return
        end local 4 // byte[] temproary
        end local 3 // sun.security.ssl.ClientHandshakeContext chc
        end local 2 // sun.security.ssl.X509Authentication$X509Possession x509Possession
        end local 1 // sun.security.ssl.HandshakeContext context
        end local 0 // sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   31     0            this  Lsun/security/ssl/CertificateVerify$T12CertificateVerifyMessage;
            0   31     1         context  Lsun/security/ssl/HandshakeContext;
            0   31     2  x509Possession  Lsun/security/ssl/X509Authentication$X509Possession;
            2   31     3             chc  Lsun/security/ssl/ClientHandshakeContext;
           12   31     4       temproary  [B
           14   16     5          signer  Ljava/security/Signature;
           18   25     5            nsae  Ljava/security/GeneralSecurityException;
           26   29     5            ikse  Ljava/security/GeneralSecurityException;
      Exception table:
        from    to  target  type
          12    16      17  Class java.security.NoSuchAlgorithmException
          12    16      17  Class java.security.InvalidAlgorithmParameterException
          12    16      25  Class java.security.InvalidKeyException
          12    16      25  Class java.security.SignatureException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      context         
      x509Possession  

  void <init>(sun.security.ssl.HandshakeContext, java.nio.ByteBuffer);
    descriptor: (Lsun/security/ssl/HandshakeContext;Ljava/nio/ByteBuffer;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage this
        start local 1 // sun.security.ssl.HandshakeContext handshakeContext
        start local 2 // java.nio.ByteBuffer m
         0: .line 599
            aload 0 /* this */
            aload 1 /* handshakeContext */
            invokespecial sun.security.ssl.SSLHandshake$HandshakeMessage.<init>:(Lsun/security/ssl/HandshakeContext;)V
         1: .line 603
            aload 1 /* handshakeContext */
            checkcast sun.security.ssl.ServerHandshakeContext
         2: .line 602
            astore 3 /* shc */
        start local 3 // sun.security.ssl.ServerHandshakeContext shc
         3: .line 609
            aload 2 /* m */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_4
            if_icmpge 7
         4: .line 610
            aload 3 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.ILLEGAL_PARAMETER:Lsun/security/ssl/Alert;
         5: .line 611
            ldc "Invalid CertificateVerify message: no sufficient data"
         6: .line 610
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
         7: .line 615
      StackMap locals: sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage sun.security.ssl.HandshakeContext java.nio.ByteBuffer sun.security.ssl.ServerHandshakeContext
      StackMap stack:
            aload 2 /* m */
            invokestatic sun.security.ssl.Record.getInt16:(Ljava/nio/ByteBuffer;)I
            istore 4 /* ssid */
        start local 4 // int ssid
         8: .line 616
            aload 0 /* this */
            iload 4 /* ssid */
            invokestatic sun.security.ssl.SignatureScheme.valueOf:(I)Lsun/security/ssl/SignatureScheme;
            putfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signatureScheme:Lsun/security/ssl/SignatureScheme;
         9: .line 617
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signatureScheme:Lsun/security/ssl/SignatureScheme;
            ifnonnull 15
        10: .line 618
            aload 3 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
        11: .line 619
            new java.lang.StringBuilder
            dup
            ldc "Invalid signature algorithm ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* ssid */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        12: .line 620
            ldc ") used in CertificateVerify handshake message"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 619
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 618
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        15: .line 623
      StackMap locals: int
      StackMap stack:
            aload 3 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.localSupportedSignAlgs:Ljava/util/List;
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signatureScheme:Lsun/security/ssl/SignatureScheme;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 22
        16: .line 624
            aload 3 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
        17: .line 625
            new java.lang.StringBuilder
            dup
            ldc "Unsupported signature algorithm ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 626
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signatureScheme:Lsun/security/ssl/SignatureScheme;
            getfield sun.security.ssl.SignatureScheme.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 627
            ldc ") used in CertificateVerify handshake message"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 625
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 624
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        22: .line 631
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* x509Credentials */
        start local 5 // sun.security.ssl.X509Authentication$X509Credentials x509Credentials
        23: .line 632
            aload 3 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeCredentials:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 28
      StackMap locals: sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage sun.security.ssl.HandshakeContext java.nio.ByteBuffer sun.security.ssl.ServerHandshakeContext int sun.security.ssl.X509Authentication$X509Credentials top java.util.Iterator
      StackMap stack:
        24: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.SSLCredentials
            astore 6 /* cd */
        start local 6 // sun.security.ssl.SSLCredentials cd
        25: .line 633
            aload 6 /* cd */
            instanceof sun.security.ssl.X509Authentication$X509Credentials
            ifeq 28
        26: .line 634
            aload 6 /* cd */
            checkcast sun.security.ssl.X509Authentication$X509Credentials
            astore 5 /* x509Credentials */
        27: .line 635
            goto 29
        end local 6 // sun.security.ssl.SSLCredentials cd
        28: .line 632
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        29: .line 639
      StackMap locals: sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage sun.security.ssl.HandshakeContext java.nio.ByteBuffer sun.security.ssl.ServerHandshakeContext int sun.security.ssl.X509Authentication$X509Credentials
      StackMap stack:
            aload 5 /* x509Credentials */
            ifnull 31
        30: .line 640
            aload 5 /* x509Credentials */
            getfield sun.security.ssl.X509Authentication$X509Credentials.popPublicKey:Ljava/security/PublicKey;
            ifnonnull 34
        31: .line 641
      StackMap locals:
      StackMap stack:
            aload 3 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
        32: .line 642
            ldc "No X509 credentials negotiated for CertificateVerify"
        33: .line 641
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        34: .line 646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* m */
            invokestatic sun.security.ssl.Record.getBytes16:(Ljava/nio/ByteBuffer;)[B
            putfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signature:[B
        35: .line 649
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signatureScheme:Lsun/security/ssl/SignatureScheme;
            aload 5 /* x509Credentials */
            getfield sun.security.ssl.X509Authentication$X509Credentials.popPublicKey:Ljava/security/PublicKey;
            invokevirtual sun.security.ssl.SignatureScheme.getSignature:(Ljava/security/Key;)Ljava/security/Signature;
        36: .line 648
            astore 6 /* signer */
        start local 6 // java.security.Signature signer
        37: .line 650
            aload 6 /* signer */
            aload 3 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeHash:Lsun/security/ssl/HandshakeHash;
            invokevirtual sun.security.ssl.HandshakeHash.archived:()[B
            invokevirtual java.security.Signature.update:([B)V
        38: .line 651
            aload 6 /* signer */
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signature:[B
            invokevirtual java.security.Signature.verify:([B)Z
            ifne 54
        39: .line 652
            aload 3 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
        40: .line 653
            ldc "Invalid CertificateVerify signature"
        41: .line 652
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        end local 6 // java.security.Signature signer
        42: .line 656
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 6 /* nsae */
        start local 6 // java.security.GeneralSecurityException nsae
        43: .line 657
            aload 3 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
        44: .line 658
            new java.lang.StringBuilder
            dup
            ldc "Unsupported signature algorithm ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        45: .line 659
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signatureScheme:Lsun/security/ssl/SignatureScheme;
            getfield sun.security.ssl.SignatureScheme.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        46: .line 660
            ldc ") used in CertificateVerify handshake message"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        47: .line 658
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 660
            aload 6 /* nsae */
        49: .line 657
            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 nsae
        50: .line 661
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 6 /* ikse */
        start local 6 // java.security.GeneralSecurityException ikse
        51: .line 662
            aload 3 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
        52: .line 663
            ldc "Cannot verify CertificateVerify signature"
            aload 6 /* ikse */
        53: .line 662
            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 ikse
        54: .line 665
      StackMap locals:
      StackMap stack:
            return
        end local 5 // sun.security.ssl.X509Authentication$X509Credentials x509Credentials
        end local 4 // int ssid
        end local 3 // sun.security.ssl.ServerHandshakeContext shc
        end local 2 // java.nio.ByteBuffer m
        end local 1 // sun.security.ssl.HandshakeContext handshakeContext
        end local 0 // sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   55     0              this  Lsun/security/ssl/CertificateVerify$T12CertificateVerifyMessage;
            0   55     1  handshakeContext  Lsun/security/ssl/HandshakeContext;
            0   55     2                 m  Ljava/nio/ByteBuffer;
            3   55     3               shc  Lsun/security/ssl/ServerHandshakeContext;
            8   55     4              ssid  I
           23   55     5   x509Credentials  Lsun/security/ssl/X509Authentication$X509Credentials;
           25   28     6                cd  Lsun/security/ssl/SSLCredentials;
           37   42     6            signer  Ljava/security/Signature;
           43   50     6              nsae  Ljava/security/GeneralSecurityException;
           51   54     6              ikse  Ljava/security/GeneralSecurityException;
      Exception table:
        from    to  target  type
          35    42      42  Class java.security.NoSuchAlgorithmException
          35    42      42  Class java.security.InvalidAlgorithmParameterException
          35    42      50  Class java.security.InvalidKeyException
          35    42      50  Class java.security.SignatureException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      handshakeContext  
      m                 

  public sun.security.ssl.SSLHandshake handshakeType();
    descriptor: ()Lsun/security/ssl/SSLHandshake;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage this
         0: .line 669
            getstatic sun.security.ssl.SSLHandshake.CERTIFICATE_VERIFY:Lsun/security/ssl/SSLHandshake;
            areturn
        end local 0 // sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/CertificateVerify$T12CertificateVerifyMessage;

  public int messageLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage this
         0: .line 674
            iconst_4
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signature:[B
            arraylength
            iadd
            ireturn
        end local 0 // sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/CertificateVerify$T12CertificateVerifyMessage;

  public void send(sun.security.ssl.HandshakeOutStream);
    descriptor: (Lsun/security/ssl/HandshakeOutStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage this
        start local 1 // sun.security.ssl.HandshakeOutStream hos
         0: .line 680
            aload 1 /* hos */
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signatureScheme:Lsun/security/ssl/SignatureScheme;
            getfield sun.security.ssl.SignatureScheme.id:I
            invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
         1: .line 681
            aload 1 /* hos */
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signature:[B
            invokevirtual sun.security.ssl.HandshakeOutStream.putBytes16:([B)V
         2: .line 682
            return
        end local 1 // sun.security.ssl.HandshakeOutStream hos
        end local 0 // sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/CertificateVerify$T12CertificateVerifyMessage;
            0    3     1   hos  Lsun/security/ssl/HandshakeOutStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      hos   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage this
         0: .line 686
            new java.text.MessageFormat
            dup
         1: .line 687
            ldc "\"CertificateVerify\": '{'\n  \"signature algorithm\": {0}\n  \"signature\": '{'\n{1}\n  '}'\n'}'"
         2: .line 693
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
         3: .line 686
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
            astore 1 /* messageFormat */
        start local 1 // java.text.MessageFormat messageFormat
         4: .line 695
            new sun.security.util.HexDumpEncoder
            dup
            invokespecial sun.security.util.HexDumpEncoder.<init>:()V
            astore 2 /* hexEncoder */
        start local 2 // sun.security.util.HexDumpEncoder hexEncoder
         5: .line 696
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 697
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signatureScheme:Lsun/security/ssl/SignatureScheme;
            getfield sun.security.ssl.SignatureScheme.name:Ljava/lang/String;
            aastore
            dup
            iconst_1
         7: .line 699
            aload 2 /* hexEncoder */
            aload 0 /* this */
            getfield sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage.signature:[B
            invokevirtual sun.security.util.HexDumpEncoder.encodeBuffer:([B)Ljava/lang/String;
            ldc "    "
         8: .line 698
            invokestatic sun.security.ssl.Utilities.indent:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
         9: .line 696
            astore 3 /* messageFields */
        start local 3 // java.lang.Object[] messageFields
        10: .line 702
            aload 1 /* messageFormat */
            aload 3 /* messageFields */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.Object[] messageFields
        end local 2 // sun.security.util.HexDumpEncoder hexEncoder
        end local 1 // java.text.MessageFormat messageFormat
        end local 0 // sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lsun/security/ssl/CertificateVerify$T12CertificateVerifyMessage;
            4   11     1  messageFormat  Ljava/text/MessageFormat;
            5   11     2     hexEncoder  Lsun/security/util/HexDumpEncoder;
           10   11     3  messageFields  [Ljava/lang/Object;
}
SourceFile: "CertificateVerify.java"
NestHost: sun.security.ssl.CertificateVerify
InnerClasses:
  final T12CertificateVerifyMessage = sun.security.ssl.CertificateVerify$T12CertificateVerifyMessage of sun.security.ssl.CertificateVerify
  abstract HandshakeMessage = sun.security.ssl.SSLHandshake$HandshakeMessage of sun.security.ssl.SSLHandshake
  final X509Credentials = sun.security.ssl.X509Authentication$X509Credentials of sun.security.ssl.X509Authentication
  final X509Possession = sun.security.ssl.X509Authentication$X509Possession of sun.security.ssl.X509Authentication