From ec015f42c958334d7b27246412b6b705779aed3b Mon Sep 17 00:00:00 2001 From: "agl@chromium.org" Date: Sat, 2 Mar 2013 18:40:41 +0000 Subject: 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 --- net/tools/testserver/testserver.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'net/tools') 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.""" -- cgit v1.1