6
from ZSI.client import Binding
10
Usage: escrow-passphrase.py <-v|--verbose> <[salt]> [passphrase]
15
default_salt_hex = "0011223344556677"
17
opts, args = getopt.getopt(sys.argv[1:], "hv", ["help", "verbose"])
18
except getopt.error, msg:
20
print "for help use --help"
23
if o in ("-h", "--help"):
26
elif o in ("-v", "--verbose"):
29
if len(args) < 1 or len(args) > 2:
30
print "invalid number of arguments"
31
print "for help use --help"
34
salt_hex = default_salt_hex
35
passphrase_charstr = args[0]
38
passphrase_charstr = args[1]
39
if len(salt_hex) != 16:
40
print "Salt value provided is [%s], which is [%d] characters long. The salt must be comprised of [%d] hexidecimal characters." % (salt_hex, len(salt_hex), 16)
41
for i in range(0, 16, 2):
42
salt_bytes.append(chr(int(salt_hex[i:i+2], 16)))
45
salt_charstr = "%s%c" % (salt_charstr, sb)
46
blob = libecryptfs.ecryptfs_passphrase_blob(salt_charstr, \
48
sig = libecryptfs.ecryptfs_passphrase_sig_from_blob(blob)
49
b = Binding(url="http://127.0.0.1:8080")
50
b64sig = base64.b64encode(sig)
51
b64blob = base64.b64encode(blob)
52
b.store_key_blob([b64sig, b64blob])
54
if __name__ == "__main__":