File: sslwrap.py

package info (click to toggle)
python-gevent 1.0.1-2
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 9,948 kB
  • ctags: 12,954
  • sloc: python: 39,061; ansic: 26,289; sh: 13,582; makefile: 833; awk: 18
file content (28 lines) | stat: -rw-r--r-- 1,272 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Index: b/gevent/ssl.py
===================================================================
--- a/gevent/ssl.py
+++ b/gevent/ssl.py
@@ -81,15 +81,14 @@ class SSLSocket(socket):
             self._sslobj = None
         else:
             # yes, create the SSL object
-            if ciphers is None:
-                self._sslobj = _ssl.sslwrap(self._sock, server_side,
-                                            keyfile, certfile,
-                                            cert_reqs, ssl_version, ca_certs)
-            else:
-                self._sslobj = _ssl.sslwrap(self._sock, server_side,
-                                            keyfile, certfile,
-                                            cert_reqs, ssl_version, ca_certs,
-                                            ciphers)
+            ctx = SSLContext(ssl_version)
+            if keyfile or certfile:
+                ctx.load_cert_chain(certfile, keyfile)
+            if ca_certs:
+                ctx.load_verify_locations(ca_certs)
+            if ciphers:
+                ctx.set_ciphers(ciphers)
+            self._sslobj = ctx._wrap_socket(self._sock, server_side=server_side)
             if do_handshake_on_connect:
                 self.do_handshake()
         self.keyfile = keyfile