diff -r 93291649202b python2/httplib2/__init__.py
--- a/python2/httplib2/__init__.py	Tue Mar 26 14:17:48 2013 -0400
+++ b/python2/httplib2/__init__.py	Tue Apr 23 10:32:15 2013 +0300
@@ -1030,7 +1030,7 @@
                         raise CertificateHostnameMismatch(
                             'Server presented certificate that does not match '
                             'host %s: %s' % (hostname, cert), hostname, cert)
-            except ssl_SSLError, e:
+            except (ssl_SSLError, CertificateHostnameMismatch), e:
                 if sock:
                     sock.close()
                 if self.sock:
@@ -1040,7 +1040,7 @@
                 # to get at more detailed error information, in particular
                 # whether the error is due to certificate validation or
                 # something else (such as SSL protocol mismatch).
-                if e.errno == ssl.SSL_ERROR_SSL:
+                if hasattr(e, 'errno') and e.errno == ssl.SSL_ERROR_SSL:
                     raise SSLHandshakeError(e)
                 else:
                     raise