
Untitled
By: a guest on
Jul 17th, 2012 | syntax:
None | size: 1.44 KB | hits: 10 | expires: Never
"""
Simple stupid utility to create RSA or DSA key keys
"""
import argparse
from com.jcraft.jsch import KeyPair, JSch
import sys
def parse_args():
parser = argparse.ArgumentParser(description="Generate public/private keys")
parser.add_argument('-crypt',
choices=('rsa', 'dsa'),
required=True,
help="Crypto algorithm to use")
parser.add_argument('-o',
type=argparse.FileType('w'),
required=True,
help="Output file")
parser.add_argument('-m',
type=str,
required=True,
help="Key comment")
return parser.parse_args()
def error_out():
print """
usage: java KeyGen -crypt rsa -o output_keyfile -m comment
java KeyGen -crypt dsa -o output_keyfile -m comment
"""
sys.exit(-1)
if __name__ == '__main__':
args = parse_args()
typemap = {'rsa': KeyPair.RSA,
'dsa': KeyPair.DSA,}
keytype = typemap[args.crypt]
filename = args.o.name
args.o.close()
comment = args.m
jsch = JSch()
passphrase = raw_input("Enter passphrase: ").strip()
kpair = KeyPair.genKeyPair(jsch, keytype)
kpair.setPassphrase(passphrase)
kpair.writePrivateKey(filename)
kpair.writePublicKey(filename+".pub", comment)
print "Finger print: %s" % kpair.getFingerPrint()
kpair.dispose()
print "Private key is at: %s" % filename
print "Public key is at: %s.pub" % filename