'Create a connection with the blame server.
If self.ssl this will also do the SSL handshake'

def connect(self):

    sock = socket.create_connection((self.host, self.port))
    self.logger.info('Connected...')
    if self.ssl:
        sock = ssl.wrap_socket(sock)
        cert = crypto.load_certificate(crypto.FILETYPE_ASN1, sock.getpeercert(True))
        digest = cert.digest('sha256')
        if (self.fingerprint_callback and (not self.fingerprint_callback(digest))):
            raise Exception('Untrusted    endpoint')
        self.logger.info('SSL    connection    established')
    self.blame_sock = sock
