Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(516)

Side by Side Diff: third_party/tlslite/tlslite/sharedkeydb.py

Issue 210323002: Update tlslite to 0.4.6. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Executable bit and --similarity=80 Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 """Class for storing shared keys."""
2
3 from utils.cryptomath import *
4 from utils.compat import *
5 from mathtls import *
6 from session import Session
7 from basedb import BaseDB
8
9 class SharedKeyDB(BaseDB):
10 """This class represent an in-memory or on-disk database of shared
11 keys.
12
13 A SharedKeyDB can be passed to a server handshake function to
14 authenticate a client based on one of the shared keys.
15
16 This class is thread-safe.
17 """
18
19 def __init__(self, filename=None):
20 """Create a new SharedKeyDB.
21
22 @type filename: str
23 @param filename: Filename for an on-disk database, or None for
24 an in-memory database. If the filename already exists, follow
25 this with a call to open(). To create a new on-disk database,
26 follow this with a call to create().
27 """
28 BaseDB.__init__(self, filename, "shared key")
29
30 def _getItem(self, username, valueStr):
31 session = Session()
32 session._createSharedKey(username, valueStr)
33 return session
34
35 def __setitem__(self, username, sharedKey):
36 """Add a shared key to the database.
37
38 @type username: str
39 @param username: The username to associate the shared key with.
40 Must be less than or equal to 16 characters in length, and must
41 not already be in the database.
42
43 @type sharedKey: str
44 @param sharedKey: The shared key to add. Must be less than 48
45 characters in length.
46 """
47 BaseDB.__setitem__(self, username, sharedKey)
48
49 def _setItem(self, username, value):
50 if len(username)>16:
51 raise ValueError("username too long")
52 if len(value)>=48:
53 raise ValueError("shared key too long")
54 return value
55
56 def _checkItem(self, value, username, param):
57 newSession = self._getItem(username, param)
58 return value.masterSecret == newSession.masterSecret
OLDNEW
« no previous file with comments | « third_party/tlslite/tlslite/sessioncache.py ('k') | third_party/tlslite/tlslite/tlsconnection.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698