I have a server based on ThreadingTCPServer . Now, Ii wants to add SSL support to this server. Without SSL, it works fine, but with SSLv3 I canโt connect the client to the server, it always throws an exception: Error 111 Connection Refused . The error is that there is no SSL server on this port.
I added SSL support using the example I found here in Stackoverflow. Here is my code:
Server:
class BeastServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer): def __init__(self, server_address, RequestHandlerClass, bind_and_activate=True): SocketServer.BaseServer.__init__(self, server_address, RequestHandlerClass) ctx = SSL.Context(SSL.SSLv3_METHOD) cert = 'server.pem' key = 'key.pem' ctx.use_privatekey_file(key) ctx.use_certificate_file(cert) self.socket = SSL.Connection(ctx, socket.socket(self.address_family, self.socket_type)) if bind_and_activate:
Customer:
class Client(object) : def verbinden (self, ip_) : s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ssl_sock = ssl.wrap_socket(s, cert_reqs=ssl.CERT_REQUIRED, ssl_version=ssl.PROTOCOL_SSLv3, ca_certs='server.pem') ssl_sock.connect((ip_, 10012)) return ssl_sock
The key and certificate file is created using public SSL. Hope someone can tell me what the problem is.
thanks for the help
Regards Patrick
source share