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

Side by Side Diff: third_party/tlslite/scripts/tlsdb.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
« no previous file with comments | « third_party/tlslite/scripts/tls.py ('k') | third_party/tlslite/setup.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #! python 1 #!/usr/bin/env python
2 2
3 # Authors:
4 # Trevor Perrin
5 # Martin von Loewis - python 3 port
6 #
7 # See the LICENSE file for legal information regarding use of this file.
8
9 from __future__ import print_function
3 import sys 10 import sys
4 import os 11 import os
5 import socket 12 import socket
6 import thread
7 import math 13 import math
8 14
9 try:
10 import cryptoIDlib
11 cryptoIDlibLoaded = True
12 except:
13 cryptoIDlibLoaded = False
14
15
16 if __name__ != "__main__": 15 if __name__ != "__main__":
17 raise "This must be run as a command, not used as a module!" 16 raise "This must be run as a command, not used as a module!"
18 17
19 18
20 from tlslite.api import * 19 from tlslite import *
20 from tlslite import __version__
21 21
22 if len(sys.argv) == 1 or (len(sys.argv)==2 and sys.argv[1].lower().endswith("hel p")): 22 if len(sys.argv) == 1 or (len(sys.argv)==2 and sys.argv[1].lower().endswith("hel p")):
23 print "" 23 print("")
24 print "Version: 0.3.8" 24 print("Version: %s" % __version__)
25 print "" 25 print("")
26 print "RNG: %s" % prngName 26 print("RNG: %s" % prngName)
27 print "" 27 print("")
28 print "Modules:" 28 print("Modules:")
29 if cryptlibpyLoaded: 29 if m2cryptoLoaded:
30 print " cryptlib_py : Loaded" 30 print(" M2Crypto : Loaded")
31 else: 31 else:
32 print " cryptlib_py : Not Loaded" 32 print(" M2Crypto : Not Loaded")
33 if m2cryptoLoaded: 33 if pycryptoLoaded:
34 print " M2Crypto : Loaded" 34 print(" pycrypto : Loaded")
35 else: 35 else:
36 print " M2Crypto : Not Loaded" 36 print(" pycrypto : Not Loaded")
37 if pycryptoLoaded: 37 if gmpyLoaded:
38 print " pycrypto : Loaded" 38 print(" GMPY : Loaded")
39 else: 39 else:
40 print " pycrypto : Not Loaded" 40 print(" GMPY : Not Loaded")
41 if gmpyLoaded: 41 print("")
42 print " GMPY : Loaded" 42 print("Commands:")
43 else: 43 print("")
44 print " GMPY : Not Loaded" 44 print(" createsrp <db>")
45 if cryptoIDlibLoaded: 45 print("")
46 print " cryptoIDlib : Loaded" 46 print(" add <db> <user> <pass> [<bits>]")
47 else: 47 print(" del <db> <user>")
48 print " cryptoIDlib : Not Loaded" 48 print(" check <db> <user> [<pass>]")
49 print "" 49 print(" list <db>")
50 print "Commands:"
51 print ""
52 print " createsrp <db>"
53 print " createsharedkey <db>"
54 print ""
55 print " add <db> <user> <pass> [<bits>]"
56 print " del <db> <user>"
57 print " check <db> <user> [<pass>]"
58 print " list <db>"
59 sys.exit() 50 sys.exit()
60 51
61 cmd = sys.argv[1].lower() 52 cmd = sys.argv[1].lower()
62 53
63 class Args: 54 class Args:
64 def __init__(self, argv): 55 def __init__(self, argv):
65 self.argv = argv 56 self.argv = argv
66 def get(self, index): 57 def get(self, index):
67 if len(self.argv)<=index: 58 if len(self.argv)<=index:
68 raise SyntaxError("Not enough arguments") 59 raise SyntaxError("Not enough arguments")
69 return self.argv[index] 60 return self.argv[index]
70 def getLast(self, index): 61 def getLast(self, index):
71 if len(self.argv)>index+1: 62 if len(self.argv)>index+1:
72 raise SyntaxError("Too many arguments") 63 raise SyntaxError("Too many arguments")
73 return self.get(index) 64 return self.get(index)
74 65
75 args = Args(sys.argv) 66 args = Args(sys.argv)
76 67
77 def reformatDocString(s): 68 def reformatDocString(s):
78 lines = s.splitlines() 69 lines = s.splitlines()
79 newLines = [] 70 newLines = []
80 for line in lines: 71 for line in lines:
81 newLines.append(" " + line.strip()) 72 newLines.append(" " + line.strip())
82 return "\n".join(newLines) 73 return "\n".join(newLines)
83 74
84 try: 75 try:
85 if cmd == "help": 76 if cmd == "help":
86 command = args.getLast(2).lower() 77 command = args.getLast(2).lower()
87 if command == "valid": 78 if command == "valid":
88 print "" 79 print("")
89 else: 80 else:
90 print "Bad command: '%s'" % command 81 print("Bad command: '%s'" % command)
91 82
92 elif cmd == "createsrp": 83 elif cmd == "createsrp":
93 dbName = args.get(2) 84 dbName = args.get(2)
94 85
95 db = VerifierDB(dbName) 86 db = VerifierDB(dbName)
96 db.create() 87 db.create()
97 88
98 elif cmd == "createsharedkey":
99 dbName = args.getLast(2)
100
101 db = SharedKeyDB(dbName)
102 db.create()
103
104 elif cmd == "add": 89 elif cmd == "add":
105 dbName = args.get(2) 90 dbName = args.get(2)
106 username = args.get(3) 91 username = args.get(3)
107 password = args.get(4) 92 password = args.get(4)
108 93
109 try: 94 db = VerifierDB(dbName)
110 db = VerifierDB(dbName) 95 db.open()
111 db.open() 96 if username in db:
112 if username in db: 97 print("User already in database!")
113 print "User already in database!" 98 sys.exit()
114 sys.exit() 99 bits = int(args.getLast(5))
115 bits = int(args.getLast(5)) 100 N, g, salt, verifier = VerifierDB.makeVerifier(username, password, bits)
116 N, g, salt, verifier = VerifierDB.makeVerifier(username, password, b its) 101 db[username] = N, g, salt, verifier
117 db[username] = N, g, salt, verifier
118 except ValueError:
119 db = SharedKeyDB(dbName)
120 db.open()
121 if username in db:
122 print "User already in database!"
123 sys.exit()
124 args.getLast(4)
125 db[username] = password
126 102
127 elif cmd == "del": 103 elif cmd == "del":
128 dbName = args.get(2) 104 dbName = args.get(2)
129 username = args.getLast(3) 105 username = args.getLast(3)
130 106 db = VerifierDB(dbName)
131 try: 107 db.open()
132 db = VerifierDB(dbName)
133 db.open()
134 except ValueError:
135 db = SharedKeyDB(dbName)
136 db.open()
137
138 del(db[username]) 108 del(db[username])
139 109
140 elif cmd == "check": 110 elif cmd == "check":
141 dbName = args.get(2) 111 dbName = args.get(2)
142 username = args.get(3) 112 username = args.get(3)
143 if len(sys.argv)>=5: 113 if len(sys.argv)>=5:
144 password = args.getLast(4) 114 password = args.getLast(4)
145 else: 115 else:
146 password = None 116 password = None
147 117
148 try: 118 db = VerifierDB(dbName)
149 db = VerifierDB(dbName) 119 db.open()
150 db.open()
151 except ValueError:
152 db = SharedKeyDB(dbName)
153 db.open()
154 120
155 try: 121 try:
156 db[username] 122 db[username]
157 print "Username exists" 123 print("Username exists")
158 124
159 if password: 125 if password:
160 if db.check(username, password): 126 if db.check(username, password):
161 print "Password is correct" 127 print("Password is correct")
162 else: 128 else:
163 print "Password is wrong" 129 print("Password is wrong")
164 except KeyError: 130 except KeyError:
165 print "Username does not exist" 131 print("Username does not exist")
166 sys.exit() 132 sys.exit()
167 133
168 elif cmd == "list": 134 elif cmd == "list":
169 dbName = args.get(2) 135 dbName = args.get(2)
136 db = VerifierDB(dbName)
137 db.open()
170 138
171 try: 139 print("Verifier Database")
172 db = VerifierDB(dbName) 140 def numBits(n):
173 db.open() 141 if n==0:
174 except ValueError: 142 return 0
175 db = SharedKeyDB(dbName) 143 return int(math.floor(math.log(n, 2))+1)
176 db.open() 144 for username in db.keys():
177 145 N, g, s, v = db[username]
178 if isinstance(db, VerifierDB): 146 print(numBits(N), username)
179 print "Verifier Database"
180 def numBits(n):
181 if n==0:
182 return 0
183 return int(math.floor(math.log(n, 2))+1)
184 for username in db.keys():
185 N, g, s, v = db[username]
186 print numBits(N), username
187 else:
188 print "Shared Key Database"
189 for username in db.keys():
190 print username
191 else: 147 else:
192 print "Bad command: '%s'" % cmd 148 print("Bad command: '%s'" % cmd)
193 except: 149 except:
194 raise 150 raise
OLDNEW
« no previous file with comments | « third_party/tlslite/scripts/tls.py ('k') | third_party/tlslite/setup.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698