diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2013-01-20 22:37:43 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2013-01-20 22:37:43 +1300 |
commit | 9bd269c26a02d94f16d7c39f3cb0a4cd46bb40b1 (patch) | |
tree | e773b9c7a04038b810c0d5afc31cb1dc874eaeda /libpathod/pathoc.py | |
parent | 369b55b0944acf55d62a70df5777ce05adfe711c (diff) | |
download | mitmproxy-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.py | 5 |
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)) |