| Index: third_party/tlslite/scripts/tlsdb.py
|
| diff --git a/third_party/tlslite/scripts/tlsdb.py b/third_party/tlslite/scripts/tlsdb.py
|
| old mode 100644
|
| new mode 100755
|
| index bdd524e64174b96c26d92f613e42bc2fa57cea67..476d61899f6272a9b2d91691d2db9834502a9a89
|
| --- a/third_party/tlslite/scripts/tlsdb.py
|
| +++ b/third_party/tlslite/scripts/tlsdb.py
|
| @@ -1,61 +1,52 @@
|
| -#! python
|
| +#!/usr/bin/env python
|
|
|
| +# Authors:
|
| +# Trevor Perrin
|
| +# Martin von Loewis - python 3 port
|
| +#
|
| +# See the LICENSE file for legal information regarding use of this file.
|
| +
|
| +from __future__ import print_function
|
| import sys
|
| import os
|
| import socket
|
| -import thread
|
| import math
|
|
|
| -try:
|
| - import cryptoIDlib
|
| - cryptoIDlibLoaded = True
|
| -except:
|
| - cryptoIDlibLoaded = False
|
| -
|
| -
|
| if __name__ != "__main__":
|
| raise "This must be run as a command, not used as a module!"
|
|
|
|
|
| -from tlslite.api import *
|
| +from tlslite import *
|
| +from tlslite import __version__
|
|
|
| if len(sys.argv) == 1 or (len(sys.argv)==2 and sys.argv[1].lower().endswith("help")):
|
| - print ""
|
| - print "Version: 0.3.8"
|
| - print ""
|
| - print "RNG: %s" % prngName
|
| - print ""
|
| - print "Modules:"
|
| - if cryptlibpyLoaded:
|
| - print " cryptlib_py : Loaded"
|
| - else:
|
| - print " cryptlib_py : Not Loaded"
|
| + print("")
|
| + print("Version: %s" % __version__)
|
| + print("")
|
| + print("RNG: %s" % prngName)
|
| + print("")
|
| + print("Modules:")
|
| if m2cryptoLoaded:
|
| - print " M2Crypto : Loaded"
|
| + print(" M2Crypto : Loaded")
|
| else:
|
| - print " M2Crypto : Not Loaded"
|
| + print(" M2Crypto : Not Loaded")
|
| if pycryptoLoaded:
|
| - print " pycrypto : Loaded"
|
| + print(" pycrypto : Loaded")
|
| else:
|
| - print " pycrypto : Not Loaded"
|
| + print(" pycrypto : Not Loaded")
|
| if gmpyLoaded:
|
| - print " GMPY : Loaded"
|
| + print(" GMPY : Loaded")
|
| else:
|
| - print " GMPY : Not Loaded"
|
| - if cryptoIDlibLoaded:
|
| - print " cryptoIDlib : Loaded"
|
| - else:
|
| - print " cryptoIDlib : Not Loaded"
|
| - print ""
|
| - print "Commands:"
|
| - print ""
|
| - print " createsrp <db>"
|
| - print " createsharedkey <db>"
|
| - print ""
|
| - print " add <db> <user> <pass> [<bits>]"
|
| - print " del <db> <user>"
|
| - print " check <db> <user> [<pass>]"
|
| - print " list <db>"
|
| + print(" GMPY : Not Loaded")
|
| + print("")
|
| + print("Commands:")
|
| + print("")
|
| + print(" createsrp <db>")
|
| + print("")
|
| + print(" add <db> <user> <pass> [<bits>]")
|
| + print(" del <db> <user>")
|
| + print(" check <db> <user> [<pass>]")
|
| + print(" list <db>")
|
| sys.exit()
|
|
|
| cmd = sys.argv[1].lower()
|
| @@ -85,9 +76,9 @@ try:
|
| if cmd == "help":
|
| command = args.getLast(2).lower()
|
| if command == "valid":
|
| - print ""
|
| + print("")
|
| else:
|
| - print "Bad command: '%s'" % command
|
| + print("Bad command: '%s'" % command)
|
|
|
| elif cmd == "createsrp":
|
| dbName = args.get(2)
|
| @@ -95,46 +86,25 @@ try:
|
| db = VerifierDB(dbName)
|
| db.create()
|
|
|
| - elif cmd == "createsharedkey":
|
| - dbName = args.getLast(2)
|
| -
|
| - db = SharedKeyDB(dbName)
|
| - db.create()
|
| -
|
| elif cmd == "add":
|
| dbName = args.get(2)
|
| username = args.get(3)
|
| password = args.get(4)
|
|
|
| - try:
|
| - db = VerifierDB(dbName)
|
| - db.open()
|
| - if username in db:
|
| - print "User already in database!"
|
| - sys.exit()
|
| - bits = int(args.getLast(5))
|
| - N, g, salt, verifier = VerifierDB.makeVerifier(username, password, bits)
|
| - db[username] = N, g, salt, verifier
|
| - except ValueError:
|
| - db = SharedKeyDB(dbName)
|
| - db.open()
|
| - if username in db:
|
| - print "User already in database!"
|
| - sys.exit()
|
| - args.getLast(4)
|
| - db[username] = password
|
| + db = VerifierDB(dbName)
|
| + db.open()
|
| + if username in db:
|
| + print("User already in database!")
|
| + sys.exit()
|
| + bits = int(args.getLast(5))
|
| + N, g, salt, verifier = VerifierDB.makeVerifier(username, password, bits)
|
| + db[username] = N, g, salt, verifier
|
|
|
| elif cmd == "del":
|
| dbName = args.get(2)
|
| username = args.getLast(3)
|
| -
|
| - try:
|
| - db = VerifierDB(dbName)
|
| - db.open()
|
| - except ValueError:
|
| - db = SharedKeyDB(dbName)
|
| - db.open()
|
| -
|
| + db = VerifierDB(dbName)
|
| + db.open()
|
| del(db[username])
|
|
|
| elif cmd == "check":
|
| @@ -145,50 +115,36 @@ try:
|
| else:
|
| password = None
|
|
|
| - try:
|
| - db = VerifierDB(dbName)
|
| - db.open()
|
| - except ValueError:
|
| - db = SharedKeyDB(dbName)
|
| - db.open()
|
| + db = VerifierDB(dbName)
|
| + db.open()
|
|
|
| try:
|
| db[username]
|
| - print "Username exists"
|
| + print("Username exists")
|
|
|
| if password:
|
| if db.check(username, password):
|
| - print "Password is correct"
|
| + print("Password is correct")
|
| else:
|
| - print "Password is wrong"
|
| + print("Password is wrong")
|
| except KeyError:
|
| - print "Username does not exist"
|
| + print("Username does not exist")
|
| sys.exit()
|
|
|
| elif cmd == "list":
|
| dbName = args.get(2)
|
| -
|
| - try:
|
| - db = VerifierDB(dbName)
|
| - db.open()
|
| - except ValueError:
|
| - db = SharedKeyDB(dbName)
|
| - db.open()
|
| -
|
| - if isinstance(db, VerifierDB):
|
| - print "Verifier Database"
|
| - def numBits(n):
|
| - if n==0:
|
| - return 0
|
| - return int(math.floor(math.log(n, 2))+1)
|
| - for username in db.keys():
|
| - N, g, s, v = db[username]
|
| - print numBits(N), username
|
| - else:
|
| - print "Shared Key Database"
|
| - for username in db.keys():
|
| - print username
|
| + db = VerifierDB(dbName)
|
| + db.open()
|
| +
|
| + print("Verifier Database")
|
| + def numBits(n):
|
| + if n==0:
|
| + return 0
|
| + return int(math.floor(math.log(n, 2))+1)
|
| + for username in db.keys():
|
| + N, g, s, v = db[username]
|
| + print(numBits(N), username)
|
| else:
|
| - print "Bad command: '%s'" % cmd
|
| + print("Bad command: '%s'" % cmd)
|
| except:
|
| raise
|
|
|