aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/pathoc.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2013-01-20 22:37:43 +1300
committerAldo Cortesi <aldo@nullcube.com>2013-01-20 22:37:43 +1300
commit9bd269c26a02d94f16d7c39f3cb0a4cd46bb40b1 (patch)
treee773b9c7a04038b810c0d5afc31cb1dc874eaeda /libpathod/pathoc.py
parent369b55b0944acf55d62a70df5777ce05adfe711c (diff)
downloadmitmproxy-9bd269c26a02d94f16d7c39f3cb0a4cd46bb40b1.tar.gz
mitmproxy-9bd269c26a02d94f16d7c39f3cb0a4cd46bb40b1.tar.bz2
mitmproxy-9bd269c26a02d94f16d7c39f3cb0a4cd46bb40b1.zip
Add support for client certificates
- pathod request logs now include a clientcert member with details on the client cert, or None if there wasn't one. - pathoc has a -C option to specify a client certificate
Diffstat (limited to 'libpathod/pathoc.py')
-rw-r--r--libpathod/pathoc.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/libpathod/pathoc.py b/libpathod/pathoc.py
index a2d89aaf..ae9edaf0 100644
--- a/libpathod/pathoc.py
+++ b/libpathod/pathoc.py
@@ -7,13 +7,14 @@ class PathocError(Exception): pass
class Pathoc(tcp.TCPClient):
- def __init__(self, host, port, ssl=None, sni=None):
+ def __init__(self, host, port, ssl=None, sni=None, clientcert=None):
tcp.TCPClient.__init__(self, host, port)
self.settings = dict(
staticdir = os.getcwd(),
unconstrained_file_access = True,
)
self.ssl, self.sni = ssl, sni
+ self.clientcert = clientcert
def http_connect(self, connect_to, wfile, rfile):
wfile.write(
@@ -34,7 +35,7 @@ class Pathoc(tcp.TCPClient):
self.http_connect(connect_to, self.wfile, self.rfile)
if self.ssl:
try:
- self.convert_to_ssl(sni=self.sni)
+ self.convert_to_ssl(sni=self.sni, clientcert=self.clientcert)
except tcp.NetLibError, v:
raise PathocError(str(v))