- #import os
- #from M2Crypto import Rand, RSA, BIO
-
- KEY_LENGTH = 2048
-
- def blank_callback():
- "Replace the default dashes"
- return
-
- # Random seed
- Rand.rand_seed (os.urandom (KEY_LENGTH))
- # Generate key pair
- key = RSA.gen_key (KEY_LENGTH, 65537, blank_callback)
- # Create memory buffers
- pri_mem = BIO.MemoryBuffer()
- pub_mem = BIO.MemoryBuffer()
- # Save keys to buffers
- key.save_key_bio(pri_mem, None)
- key.save_pub_key_bio(pub_mem)
- # Get keys
- public_key = pub_mem.getvalue()
- private_key = pri_mem.getvalue()
+ # Generate public and private keys using SFA Library
+ from sfa.trust.certificate import Keypair
+ k = Keypair(create=True)
+ public_key = k.get_pubkey_string()
+ private_key = k.as_pem()
+
+# DEPRECATED
+# #import os
+# #from M2Crypto import Rand, RSA, BIO
+#
+# KEY_LENGTH = 2048
+#
+# def blank_callback():
+# "Replace the default dashes"
+# return
+#
+# # Random seed
+# Rand.rand_seed (os.urandom (KEY_LENGTH))
+# # Generate key pair
+# key = RSA.gen_key (KEY_LENGTH, 65537, blank_callback)
+# # Create memory buffers
+# pri_mem = BIO.MemoryBuffer()
+# pub_mem = BIO.MemoryBuffer()
+# # Save keys to buffers
+# key.save_key_bio(pri_mem, None)
+# key.save_pub_key_bio(pub_mem)
+# # Get keys
+# public_key = pub_mem.getvalue()
+# private_key = pri_mem.getvalue()
+
+ private_key = ''.join(private_key.split())
+ public_key = "ssh-rsa " + public_key