(self, sock, crypt, server=False, cert_pin=None)
| 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: |
no test coverage detected