summaryrefslogtreecommitdiff
path: root/keyconf.py
blob: 78d3af172ae91fd057c452ca341f9c58381e0a7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/python 
import sqlitetime
from sys import argv
 
con = sqlite.connect('yubikeys.sqlite')
cur = con.cursor()
 
if (len(argv)<3):
print "YubiServe Key Management Tool 1.0\n"
print " -a <publicname> <internalname> <aeskey>\tAdd a new key"
print " -k <publicname>\t\t\t\tDelete a key from database"
print " -d <publicname>\t\t\t\tDisable a key from database (it will be kept)"
print " -e <publicname>\t\t\t\tEnable a key within the database\n"
else:
if ((argv[1] == '-d') and (len(argv)>2)):
cur.execute("SELECT * FROM yubikeys WHERE publicname = '" + argv[2] + "'")
if (cur.rowcount == 0):
print "Key not found."
else:
cur.execute("SELECT * FROM yubikeys WHERE publicname = '" + argv[2] + "' AND active = 'true'")
if (cur.rowcount == 1):
cur.execute("UPDATE yubikeys SET active = 'false' WHERE publicname = '" + argv[2] + "'")
print "Key " + argv[2] + " disabled."
con.commit()
else:
print "Key is already disabled."
 
elif ((argv[1] == '-e') and (len(argv)>2)):
cur.execute("SELECT * FROM yubikeys WHERE publicname = '" + argv[2] + "'")
if (cur.rowcount == 0):
print "Key not found."
else:
cur.execute("SELECT * FROM yubikeys WHERE publicname = '" + argv[2] + "' AND active = 'false'")
if (cur.rowcount == 1):
cur.execute("UPDATE yubikeys SET active = 'true' WHERE publicname = '" + argv[2] + "'")
print "Key " + argv[2] + " enabled."
con.commit()
else:
print "Key is already enabled."
elif ((argv[1] == '-k') and (len(argv)>2)):
cur.execute("SELECT * FROM yubikeys WHERE publicname = '" + argv[2] + "'")
if (cur.rowcount == 0):
print "Key not found."
else:
cur.execute("DELETE FROM yubikeys WHERE publicname = '" + argv[2] + "'")
print "Key " + argv[2] + " deleted."
con.commit()
elif ((argv[1] == '-a') and (len(argv)>3)):
if ((len(argv[2])<=16) and (len(argv[3]) <= 12) and (len(argv[4])<=32)):
cur.execute("SELECT * FROM yubikeys WHERE publicname = '" + argv[2] + "'")
if (cur.rowcount == 0):
cur.execute("INSERT INTO yubikeys VALUES ('" + argv[2] + "''" + time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) + "''" + argv[3] + "''" + argv[4] + "''true'11)")
con.commit()
print "Key " + argv[2] + " added to database."
else:
print "Key is already into database. Delete it before adding the same key!"
else:
print "Not enough parameters. Try looking at " + argv[0] + " --help"