Index: third_party/tlslite/tlslite/VerifierDB.py |
diff --git a/third_party/tlslite/tlslite/VerifierDB.py b/third_party/tlslite/tlslite/VerifierDB.py |
deleted file mode 100644 |
index f706b1796726f3c751385b944454f98cf5aa5eae..0000000000000000000000000000000000000000 |
--- a/third_party/tlslite/tlslite/VerifierDB.py |
+++ /dev/null |
@@ -1,90 +0,0 @@ |
-"""Class for storing SRP password verifiers.""" |
- |
-from utils.cryptomath import * |
-from utils.compat import * |
-import mathtls |
-from BaseDB import BaseDB |
- |
-class VerifierDB(BaseDB): |
- """This class represent an in-memory or on-disk database of SRP |
- password verifiers. |
- |
- A VerifierDB can be passed to a server handshake to authenticate |
- a client based on one of the verifiers. |
- |
- This class is thread-safe. |
- """ |
- def __init__(self, filename=None): |
- """Create a new VerifierDB instance. |
- |
- @type filename: str |
- @param filename: Filename for an on-disk database, or None for |
- an in-memory database. If the filename already exists, follow |
- this with a call to open(). To create a new on-disk database, |
- follow this with a call to create(). |
- """ |
- BaseDB.__init__(self, filename, "verifier") |
- |
- def _getItem(self, username, valueStr): |
- (N, g, salt, verifier) = valueStr.split(" ") |
- N = base64ToNumber(N) |
- g = base64ToNumber(g) |
- salt = base64ToString(salt) |
- verifier = base64ToNumber(verifier) |
- return (N, g, salt, verifier) |
- |
- def __setitem__(self, username, verifierEntry): |
- """Add a verifier entry to the database. |
- |
- @type username: str |
- @param username: The username to associate the verifier with. |
- Must be less than 256 characters in length. Must not already |
- be in the database. |
- |
- @type verifierEntry: tuple |
- @param verifierEntry: The verifier entry to add. Use |
- L{tlslite.VerifierDB.VerifierDB.makeVerifier} to create a |
- verifier entry. |
- """ |
- BaseDB.__setitem__(self, username, verifierEntry) |
- |
- |
- def _setItem(self, username, value): |
- if len(username)>=256: |
- raise ValueError("username too long") |
- N, g, salt, verifier = value |
- N = numberToBase64(N) |
- g = numberToBase64(g) |
- salt = stringToBase64(salt) |
- verifier = numberToBase64(verifier) |
- valueStr = " ".join( (N, g, salt, verifier) ) |
- return valueStr |
- |
- def _checkItem(self, value, username, param): |
- (N, g, salt, verifier) = value |
- x = mathtls.makeX(salt, username, param) |
- v = powMod(g, x, N) |
- return (verifier == v) |
- |
- |
- def makeVerifier(username, password, bits): |
- """Create a verifier entry which can be stored in a VerifierDB. |
- |
- @type username: str |
- @param username: The username for this verifier. Must be less |
- than 256 characters in length. |
- |
- @type password: str |
- @param password: The password for this verifier. |
- |
- @type bits: int |
- @param bits: This values specifies which SRP group parameters |
- to use. It must be one of (1024, 1536, 2048, 3072, 4096, 6144, |
- 8192). Larger values are more secure but slower. 2048 is a |
- good compromise between safety and speed. |
- |
- @rtype: tuple |
- @return: A tuple which may be stored in a VerifierDB. |
- """ |
- return mathtls.makeVerifier(username, password, bits) |
- makeVerifier = staticmethod(makeVerifier) |