1
2
3 """
4 generate a keypair
5
6 This is the guts of the command-line front-end app fcpgenkey
7 """
8
9
10
11 import argparse
12 import sys
13 import traceback
14
15 from . import node
16 from .arguments import add_default_arguments
17
18
19
20
21
22
24 '''
25 Creates an argparse parser.
26 '''
27 parser = argparse.ArgumentParser(
28 prog='fcpgenkey',
29 description='''
30 A simple command-line freenet keypair generation command.
31
32 Generates a simple SSK keypair, and prints
33 public key, then private key, each on its own line.
34 ''',
35 )
36 add_default_arguments(parser)
37
38 return parser
39
40
41
43 """
44 Front end for fcpget utility
45 """
46
47 parser = create_parser()
48 args = parser.parse_args()
49
50
51 verbosity = node.ERROR
52 verbose = False
53
54
55 try:
56 fcp_node = node.FCPNode(host=args.fcphost, port=args.fcpport, verbosity=verbosity,
57 logfile=sys.stderr)
58 except:
59 if verbose:
60 traceback.print_exc(file=sys.stderr)
61 sys.stderr.write("Failed to connect to FCP service at %s:%d\n" % (args.fcphost, args.fcpport))
62 sys.exit(1)
63
64
65 pub, priv = fcp_node.genkey()
66
67 fcp_node.shutdown()
68
69
70 print pub
71 print priv
72
73
74 sys.exit(0)
75
76
77
78
79
80
81