utils: duplicate the --secret argument declaration to make it required only for the generate command
This commit is contained in:
parent
1d68a84117
commit
c39108bd4f
|
@ -60,25 +60,31 @@ def main():
|
|||
import datetime
|
||||
|
||||
parser = argparse.ArgumentParser(description='Process some integers.')
|
||||
secret_arg = parser.add_argument('--secret',
|
||||
help='secret as plain, hex or base-64 encoded string, prefix '
|
||||
'with hex: or b64: for encoded strings')
|
||||
subparsers = parser.add_subparsers(help='sub-command help')
|
||||
|
||||
# create the parser for the "a" command
|
||||
parser_generate = subparsers.add_parser('generate', help='a help')
|
||||
parser_generate.set_defaults(command='generate')
|
||||
parser_generate.add_argument('--secret', required=True,
|
||||
help='secret as plain, hex or base-64 encoded string, prefix '
|
||||
'with hex: or b64: for encoded strings')
|
||||
parser_generate.add_argument('user', help='user\'s username')
|
||||
|
||||
# create the parser for the "b" command
|
||||
parser_parse = subparsers.add_parser('parse', help='parse an LtpaToken')
|
||||
parser_parse.set_defaults(command='parse')
|
||||
parser_parse.add_argument('--secret',
|
||||
help='secret as plain, hex or base-64 encoded string, prefix '
|
||||
'with hex: or b64: for encoded strings')
|
||||
parser_parse.add_argument('token', help='the LTPA cookie content')
|
||||
|
||||
parser_decryptkey = subparsers.add_parser('decryptkey', help='decrypt an exported shared key for LtpaToken')
|
||||
parser_decryptkey = subparsers.add_parser('decryptkey', help='decrypt an '
|
||||
'exported shared key for LtpaToken')
|
||||
parser_decryptkey.set_defaults(command='decryptkey')
|
||||
parser_parse.add_argument('file', help='file containing an exported shared key')
|
||||
parser_parse.add_argument('password', help='password for the encryption')
|
||||
parser_decryptkey.add_argument('file', help='file containing an exported '
|
||||
'shared key')
|
||||
parser_decryptkey.add_argument('password', help='password for the '
|
||||
'encryption')
|
||||
|
||||
args = parser.parse_args()
|
||||
if args.secret:
|
||||
|
@ -90,9 +96,6 @@ def main():
|
|||
args.secret = args.secret
|
||||
|
||||
if args.command == 'generate':
|
||||
if not args.secret:
|
||||
raise argparse.ArgumentError(secret_arg,
|
||||
'is required to generate a token')
|
||||
print generate_domino_ltpa_token(user=args.user,
|
||||
secret=args.secret)
|
||||
elif args.command == 'parse':
|
||||
|
@ -107,8 +110,6 @@ def main():
|
|||
|
||||
content = file(args.file).read()
|
||||
key = hashlib.sha1(args.password).digest() + '\x00' * 4
|
||||
|
||||
data = "Please encrypt my data"
|
||||
k = des(key, ECB, padmode=PAD_PKCS5)
|
||||
print 'hex:' + k.decrypt(content).encode('hex')
|
||||
|
||||
|
|
Reference in New Issue