aboutsummaryrefslogtreecommitdiffstats
path: root/netlib
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2013-01-20 22:36:54 +1300
committerAldo Cortesi <aldo@nullcube.com>2013-01-20 22:36:54 +1300
commit7248a22d5e381dd57d69c06f8e67e60fd55e55ba (patch)
tree930ec890398cc59f9dda2f30937dfba9ba172e1a /netlib
parent00d20abdd4863d15fdda826615dab264c8e14d4a (diff)
downloadmitmproxy-7248a22d5e381dd57d69c06f8e67e60fd55e55ba.tar.gz
mitmproxy-7248a22d5e381dd57d69c06f8e67e60fd55e55ba.tar.bz2
mitmproxy-7248a22d5e381dd57d69c06f8e67e60fd55e55ba.zip
Improve error signalling for client certificates.
Diffstat (limited to 'netlib')
-rw-r--r--netlib/tcp.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/netlib/tcp.py b/netlib/tcp.py
index 4b547d1f..d0ca09f3 100644
--- a/netlib/tcp.py
+++ b/netlib/tcp.py
@@ -177,11 +177,14 @@ class TCPClient:
clientcert: Path to a file containing both client cert and private key.
"""
context = SSL.Context(method)
- if not options is None:
+ if options is not None:
ctx.set_options(options)
if clientcert:
- context.use_privatekey_file(clientcert)
- context.use_certificate_file(clientcert)
+ try:
+ context.use_privatekey_file(clientcert)
+ context.use_certificate_file(clientcert)
+ except SSL.Error, v:
+ raise NetLibError("SSL client certificate error: %s"%str(v))
self.connection = SSL.Connection(context, self.connection)
self.ssl_established = True
if sni: