| Index: third_party/tlslite/tlslite/verifierdb.py
|
| diff --git a/third_party/tlslite/tlslite/verifierdb.py b/third_party/tlslite/tlslite/verifierdb.py
|
| index d2d30c1bae98f0314be2b06ca0b8d107c620b70d..438454155185936eccdaf885cb5496e9555a6357 100644
|
| --- a/third_party/tlslite/tlslite/verifierdb.py
|
| +++ b/third_party/tlslite/tlslite/verifierdb.py
|
| @@ -1,9 +1,12 @@
|
| +# Author: Trevor Perrin
|
| +# See the LICENSE file for legal information regarding use of this file.
|
| +
|
| """Class for storing SRP password verifiers."""
|
|
|
| -from utils.cryptomath import *
|
| -from utils.compat import *
|
| -import mathtls
|
| -from basedb import BaseDB
|
| +from .utils.cryptomath import *
|
| +from .utils.compat import *
|
| +from tlslite import mathtls
|
| +from .basedb import BaseDB
|
|
|
| class VerifierDB(BaseDB):
|
| """This class represent an in-memory or on-disk database of SRP
|
| @@ -27,10 +30,10 @@ class VerifierDB(BaseDB):
|
|
|
| def _getItem(self, username, valueStr):
|
| (N, g, salt, verifier) = valueStr.split(" ")
|
| - N = base64ToNumber(N)
|
| - g = base64ToNumber(g)
|
| - salt = base64ToString(salt)
|
| - verifier = base64ToNumber(verifier)
|
| + N = bytesToNumber(a2b_base64(N))
|
| + g = bytesToNumber(a2b_base64(g))
|
| + salt = a2b_base64(salt)
|
| + verifier = bytesToNumber(a2b_base64(verifier))
|
| return (N, g, salt, verifier)
|
|
|
| def __setitem__(self, username, verifierEntry):
|
| @@ -43,7 +46,7 @@ class VerifierDB(BaseDB):
|
|
|
| @type verifierEntry: tuple
|
| @param verifierEntry: The verifier entry to add. Use
|
| - L{tlslite.VerifierDB.VerifierDB.makeVerifier} to create a
|
| + L{tlslite.verifierdb.VerifierDB.makeVerifier} to create a
|
| verifier entry.
|
| """
|
| BaseDB.__setitem__(self, username, verifierEntry)
|
| @@ -53,10 +56,10 @@ class VerifierDB(BaseDB):
|
| 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)
|
| + N = b2a_base64(numberToByteArray(N))
|
| + g = b2a_base64(numberToByteArray(g))
|
| + salt = b2a_base64(salt)
|
| + verifier = b2a_base64(numberToByteArray(verifier))
|
| valueStr = " ".join( (N, g, salt, verifier) )
|
| return valueStr
|
|
|
| @@ -86,5 +89,7 @@ class VerifierDB(BaseDB):
|
| @rtype: tuple
|
| @return: A tuple which may be stored in a VerifierDB.
|
| """
|
| - return mathtls.makeVerifier(username, password, bits)
|
| + usernameBytes = bytearray(username, "utf-8")
|
| + passwordBytes = bytearray(password, "utf-8")
|
| + return mathtls.makeVerifier(usernameBytes, passwordBytes, bits)
|
| makeVerifier = staticmethod(makeVerifier)
|
|
|