MCPcopy Index your code
hub / github.com/HelloZeroNet/ZeroNet / wrapSocket

Method wrapSocket

src/Crypt/CryptConnection.py:80–92  ·  view source on GitHub ↗
(self, sock, crypt, server=False, cert_pin=None)

Source from the content-addressed store, hash-verified

78 # Wrap socket for crypt
79 # Return: wrapped socket
80 def wrapSocket(self, sock, crypt, server=False, cert_pin=None):
81 if crypt == "tls-rsa":
82 if server:
83 sock_wrapped = self.context_server.wrap_socket(sock, server_side=True)
84 else:
85 sock_wrapped = self.context_client.wrap_socket(sock, server_hostname=random.choice(self.fakedomains))
86 if cert_pin:
87 cert_hash = hashlib.sha256(sock_wrapped.getpeercert(True)).hexdigest()
88 if cert_hash != cert_pin:
89 raise Exception("Socket certificate does not match (%s != %s)" % (cert_hash, cert_pin))
90 return sock_wrapped
91 else:
92 return sock
93
94 def removeCerts(self):
95 if config.keep_ssl_cert:

Callers 4

connectMethod · 0.80
handleMessageMethod · 0.80
handleHandshakeMethod · 0.80

Calls 1

hexdigestMethod · 0.45

Tested by

no test coverage detected