diff options
author | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-02 18:40:41 +0000 |
---|---|---|
committer | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-02 18:40:41 +0000 |
commit | ec015f42c958334d7b27246412b6b705779aed3b (patch) | |
tree | 36c6c2c5ae9f76a9aadbe163b442155431844542 /net/tools | |
parent | 230e980d95cd743a7019fa8e1e79f08dbaff2b85 (diff) | |
download | chromium_src-ec015f42c958334d7b27246412b6b705779aed3b.zip chromium_src-ec015f42c958334d7b27246412b6b705779aed3b.tar.gz chromium_src-ec015f42c958334d7b27246412b6b705779aed3b.tar.bz2 |
net: add basic ChannelID support to TLSLite.
In order to test some ChannelID functions, this change adds basic ChannelID
support to testserver and TLSLite. With this change, testserver can receive a
ChannelID and echo its hash on /channel-id.
This code doesn't check the ChannelID signature.
BUG=none
TBR=darin
Review URL: https://chromiumcodereview.appspot.com/12313068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185744 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/tools')
-rwxr-xr-x | net/tools/testserver/testserver.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/net/tools/testserver/testserver.py b/net/tools/testserver/testserver.py index 54d8b19..931fdd7 100755 --- a/net/tools/testserver/testserver.py +++ b/net/tools/testserver/testserver.py @@ -158,6 +158,7 @@ class HTTPSServer(tlslite.api.TLSSocketServerMixIn, """Creates the SSL connection.""" try: + self.tlsConnection = tlsConnection tlsConnection.handshakeServer(certChain=self.cert_chain, privateKey=self.private_key, sessionCache=self.session_cache, @@ -266,6 +267,7 @@ class TestPageHandler(testserver_base.BasePageHandler): self.MultipartSlowHandler, self.GetSSLSessionCacheHandler, self.SSLManySmallRecords, + self.GetChannelID, self.CloseSocketHandler, self.RangeResetHandler, self.DefaultResponseHandler] @@ -1426,6 +1428,19 @@ class TestPageHandler(testserver_base.BasePageHandler): self.wfile.flush() return True + def GetChannelID(self): + """Send a reply containing the hashed ChannelID that the client provided.""" + + if not self._ShouldHandleRequest('/channel-id'): + return False + + self.send_response(200) + self.send_header('Content-Type', 'text/plain') + self.end_headers() + channel_id = self.server.tlsConnection.channel_id.tostring() + self.wfile.write(hashlib.sha256(channel_id).digest().encode('base64')) + return True + def CloseSocketHandler(self): """Closes the socket without sending anything.""" |