summaryrefslogtreecommitdiffstats
path: root/net/tools
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-02 18:40:41 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-02 18:40:41 +0000
commitec015f42c958334d7b27246412b6b705779aed3b (patch)
tree36c6c2c5ae9f76a9aadbe163b442155431844542 /net/tools
parent230e980d95cd743a7019fa8e1e79f08dbaff2b85 (diff)
downloadchromium_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-xnet/tools/testserver/testserver.py15
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."""