aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2012-06-28 14:29:15 +1200
committerAldo Cortesi <aldo@nullcube.com>2012-06-28 14:29:15 +1200
commit47651b1ff2e5dd0c788d744dc1b1d5587107f71a (patch)
tree85234e13bb15cef993f4147ff33e99a72908800e /libmproxy
parent243e0efefc2ae6842a2d03c7d0a0e648802515b1 (diff)
downloadmitmproxy-47651b1ff2e5dd0c788d744dc1b1d5587107f71a.tar.gz
mitmproxy-47651b1ff2e5dd0c788d744dc1b1d5587107f71a.tar.bz2
mitmproxy-47651b1ff2e5dd0c788d744dc1b1d5587107f71a.zip
Serialization and de-serialization of new cert format.
Diffstat (limited to 'libmproxy')
-rw-r--r--libmproxy/flow.py17
1 files changed, 5 insertions, 12 deletions
diff --git a/libmproxy/flow.py b/libmproxy/flow.py
index 0e5ba0e3..4de8bc96 100644
--- a/libmproxy/flow.py
+++ b/libmproxy/flow.py
@@ -463,12 +463,12 @@ class Response(HTTPMsg):
timestamp: Seconds since the epoch
"""
- def __init__(self, request, httpversion, code, msg, headers, content, der_cert, timestamp=None):
+ def __init__(self, request, httpversion, code, msg, headers, content, cert, timestamp=None):
assert isinstance(headers, ODictCaseless)
self.request = request
self.httpversion, self.code, self.msg = httpversion, code, msg
self.headers, self.content = headers, content
- self.der_cert = der_cert
+ self.cert = cert
self.timestamp = timestamp or utils.timestamp()
controller.Msg.__init__(self)
self.replay = False
@@ -538,14 +538,7 @@ class Response(HTTPMsg):
self.headers = ODictCaseless._from_state(state["headers"])
self.content = state["content"]
self.timestamp = state["timestamp"]
- self.der_cert = state["der_cert"]
-
- def get_cert(self):
- """
- Returns a certutils.SSLCert object, or None.
- """
- if self.der_cert:
- return certutils.SSLCert.from_der(self.der_cert)
+ self.cert = state["cert"]
def _get_state(self):
return dict(
@@ -554,7 +547,7 @@ class Response(HTTPMsg):
msg = self.msg,
headers = self.headers._get_state(),
timestamp = self.timestamp,
- der_cert = self.der_cert,
+ cert = self.cert.to_pem() if self.cert else None,
content = self.content
)
@@ -567,7 +560,7 @@ class Response(HTTPMsg):
str(state["msg"]),
ODictCaseless._from_state(state["headers"]),
state["content"],
- state.get("der_cert"),
+ certutils.SSLCert.from_pem(state["cert"]) if state["cert"] else None,
state["timestamp"],
)