diff --git a/Lib/ssl.py b/Lib/ssl.py index ced3149..73d5ef7 100644 --- a/Lib/ssl.py +++ b/Lib/ssl.py @@ -139,7 +139,7 @@ class SSLSocket(object): if ciphers: self._context.set_ciphers(ciphers) - self.engine = self.context._createSSLEngine() + self.engine = self.context._createSSLEngine(cert_file=certfile, key_file=keyfile) self.server_side = server_side self.engine.setUseClientMode(not server_side) self.ssl_handler = None @@ -471,7 +471,7 @@ class SSLContext(object): return SSLSocket(sock, keyfile=None, certfile=None, ca_certs=None, suppress_ragged_eofs=suppress_ragged_eofs, do_handshake_on_connect=do_handshake_on_connect, server_side=server_side, _context=self) - def _createSSLEngine(self): + def _createSSLEngine(self, cert_file=None, key_file=None): trust_managers = [NoVerifyX509TrustManager()] if self.verify_mode == CERT_REQUIRED: tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()) @@ -479,7 +479,7 @@ class SSLContext(object): trust_managers = tmf.getTrustManagers() if self._key_managers is None: # get an e - self._context.init(_get_openssl_key_manager().getKeyManagers(), trust_managers, None) + self._context.init(_get_openssl_key_manager(cert_file=cert_file, key_file=key_file).getKeyManagers(), trust_managers, None) else: self._context.init(self._key_managers.getKeyManagers(), trust_managers, None)