diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2012-04-02 16:19:00 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2012-04-02 16:21:23 +1200 |
commit | ab1d8fa3500f786528c5c6a3e2bba19cd96595d0 (patch) | |
tree | e50cb7be73f3a4425438825ff378bb94bf1a67d9 /test | |
parent | bb03255da042f478d4fb1866b39028760e14f0bf (diff) | |
download | mitmproxy-ab1d8fa3500f786528c5c6a3e2bba19cd96595d0.tar.gz mitmproxy-ab1d8fa3500f786528c5c6a3e2bba19cd96595d0.tar.bz2 mitmproxy-ab1d8fa3500f786528c5c6a3e2bba19cd96595d0.zip |
Expand SSL cert support
- Capture the remote SSL certificate
- Expose the remote cert as an attribute on Response
- Expand the certutils.SSLCert interface to expose more cert info
Diffstat (limited to 'test')
-rw-r--r-- | test/data/dercert | bin | 0 -> 1838 bytes | |||
-rw-r--r-- | test/test_certutils.py | 16 | ||||
-rw-r--r-- | test/test_filt.py | 3 | ||||
-rw-r--r-- | test/test_flow.py | 6 | ||||
-rw-r--r-- | test/tutils.py | 2 |
5 files changed, 20 insertions, 7 deletions
diff --git a/test/data/dercert b/test/data/dercert Binary files differnew file mode 100644 index 00000000..370252af --- /dev/null +++ b/test/data/dercert diff --git a/test/test_certutils.py b/test/test_certutils.py index 5ef5919e..e27088e7 100644 --- a/test/test_certutils.py +++ b/test/test_certutils.py @@ -49,7 +49,7 @@ class udummy_cert(libpry.AutoTree): assert os.path.exists(p) -class uparse_text_cert(libpry.AutoTree): +class uSSLCert(libpry.AutoTree): def test_simple(self): c = certutils.SSLCert(file("data/text_cert", "r").read()) assert c.cn == "google.com" @@ -58,10 +58,22 @@ class uparse_text_cert(libpry.AutoTree): c = certutils.SSLCert(file("data/text_cert_2", "r").read()) assert c.cn == "www.inode.co.nz" assert len(c.altnames) == 2 + assert c.digest("sha1") + assert c.notbefore + assert c.notafter + assert c.subject + assert c.keyinfo == ("RSA", 2048) + assert c.serial + c.has_expired + + def test_der(self): + d = file("data/dercert").read() + s = certutils.SSLCert.from_der(d) + assert s.cn tests = [ - uparse_text_cert(), udummy_ca(), udummy_cert(), + uSSLCert(), ] diff --git a/test/test_filt.py b/test/test_filt.py index 61acbc7d..8e349d7c 100644 --- a/test/test_filt.py +++ b/test/test_filt.py @@ -98,7 +98,8 @@ class uMatching(libpry.AutoTree): 200, "message", headers, - "content_response" + "content_response", + None ) return f diff --git a/test/test_flow.py b/test/test_flow.py index e44e2b0d..d19518e5 100644 --- a/test/test_flow.py +++ b/test/test_flow.py @@ -796,7 +796,7 @@ class uResponse(libpry.AutoTree): h["test"] = ["test"] c = flow.ClientConnect(("addr", 2222)) req = flow.Request(c, "host", 22, "https", "GET", "/", h, "content") - resp = flow.Response(req, 200, "msg", h.copy(), "content") + resp = flow.Response(req, 200, "msg", h.copy(), "content", None) assert resp._assemble() resp2 = resp.copy() @@ -841,12 +841,12 @@ class uResponse(libpry.AutoTree): h["test"] = ["test"] c = flow.ClientConnect(("addr", 2222)) req = flow.Request(c, "host", 22, "https", "GET", "/", h, "content") - resp = flow.Response(req, 200, "msg", h.copy(), "content") + resp = flow.Response(req, 200, "msg", h.copy(), "content", None) state = resp._get_state() assert flow.Response._from_state(req, state) == resp - resp2 = flow.Response(req, 220, "foo", h.copy(), "test") + resp2 = flow.Response(req, 220, "foo", h.copy(), "test", None) assert not resp == resp2 resp._load_state(resp2._get_state()) assert resp == resp2 diff --git a/test/tutils.py b/test/tutils.py index b11c997a..25a76c0e 100644 --- a/test/tutils.py +++ b/test/tutils.py @@ -17,7 +17,7 @@ def tresp(req=None): req = treq() headers = flow.ODictCaseless() headers["header_response"] = ["svalue"] - return flow.Response(req, 200, "message", headers, "content_response") + return flow.Response(req, 200, "message", headers, "content_response", None) def tflow(): |