--- Halberd/clientlib.py.orig
+++ Halberd/clientlib.py
@@ -31,6 +31,7 @@
 
 import time
 import socket
+import ssl
 import urlparse
 
 from itertools import takewhile
@@ -310,7 +311,7 @@
 
         self._recv = None
         self._sslsock = None
-        self._timeout_exceptions.append(socket.sslerror)
+        self._timeout_exceptions.append(ssl.SSLError)
 
         # Path to an SSL key file and certificate.
         self.keyfile = None
@@ -327,8 +328,8 @@
         """
         HTTPClient._connect(self, addr)
         try:
-            self._sslsock = socket.ssl(self._sock, self.keyfile, self.certfile)
-        except socket.sslerror, msg:
+            self._sslsock = ssl.wrap_socket(self._sock, self.keyfile, self.certfile)
+        except ssl.SSLError, msg:
             raise HTTPSError, msg
 
         self._recv = self._sslsock.read
