docs: def compute_verify_data(self, con_end, read_or_write,
                              handshake_msg, master_secret):
          """
          Return verify_data based on handshake messages, connection end,
          master secret, and read_or_write position. See RFC 5246, section 7.4.9.
  
          Every TLS 1.2 cipher suite has a verify_data of length 12. Note also:
          "This PRF with the SHA-256 hash function is used for all cipher
           suites defined in this document and in TLS documents published
           prior to this document when TLS 1.2 is negotiated."
          Cipher suites using SHA-384 were defined later on.
          """
          if self.tls_version < 0x0300:
              return None
          elif self.tls_version == 0x0300:
  
              if read_or_write == "write":
                  d = {"client": b"CLNT", "server": b"SRVR"}
              else:
                  d = {"client": b"SRVR", "server": b"CLNT"}
              label = d[con_end]
  
              sslv3_md5_pad1 = b"\x36" * 48
              sslv3_md5_pad2 = b"\x5c" * 48
              sslv3_sha1_pad1 = b"\x36" * 40
              sslv3_sha1_pad2 = b"\x5c" * 40
  
              md5 = _tls_hash_algs["MD5"]()
              sha1 = _tls_hash_algs["SHA"]()
  
              md5_hash = md5.digest(master_secret + sslv3_md5_pad2 +
                                    md5.digest(handshake_msg + label +
                                               master_secret + sslv3_md5_pad1))
              sha1_hash = sha1.digest(master_secret + sslv3_sha1_pad2 +
                                      sha1.digest(handshake_msg + label +
                                                  master_secret + sslv3_sha1_pad1))  # noqa: E501
              verify_data = md5_hash + sha1_hash
  
          else:
  
              if read_or_write == "write":
                  d = {"client": "client", "server": "server"}
              else:
                  d = {"client": "server", "server": "client"}
              label = ("%s finished" % d[con_end]).encode()
  
              if self.tls_version <= 0x0302:
                  s1 = _tls_hash_algs["MD5"]().digest(handshake_msg)
                  s2 = _tls_hash_algs["SHA"]().digest(handshake_msg)
                  verify_data = self.prf(master_secret, label, s1 + s2, 12)
              else:
                  if self.hash_name in ["MD5", "SHA"]:
                      h = _tls_hash_algs["SHA256"]()
                  else:
                      h = _tls_hash_algs[self.hash_name]()
                  s = h.digest(handshake_msg)
                  verify_data = self.prf(master_secret, label, s, 12)
  
          return verify_data