create_keys.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import rsa
  2. #from cryptography.fernet import Fernet
  3. # create the symmetric key only for the JSON file - we are going to only encrypt the keys
  4. #key = Fernet.generate_key()
  5. # write the symmetric key to a file
  6. #k = open('symmetric.key','wb')
  7. #k.write(key)
  8. #k.close()
  9. # create the pub & private keys for the parties
  10. from cryptography.hazmat.backends import default_backend
  11. from cryptography.hazmat.primitives.asymmetric import rsa
  12. from cryptography.hazmat.primitives import serialization
  13. def make_keys(company):
  14. #(pubkey,privkey)=rsa.newkeys(2048)
  15. private_key = rsa.generate_private_key(
  16. public_exponent=65537,
  17. key_size=2048,
  18. backend=default_backend()
  19. )
  20. public_key = private_key.public_key()
  21. pem = public_key.public_bytes(
  22. encoding=serialization.Encoding.PEM,
  23. format=serialization.PublicFormat.SubjectPublicKeyInfo
  24. )
  25. with open('companies\\' + company + '_publickey.key','wb') as f:
  26. f.write(pem)
  27. pem = private_key.private_bytes(
  28. encoding=serialization.Encoding.PEM,
  29. format=serialization.PrivateFormat.PKCS8,
  30. encryption_algorithm=serialization.NoEncryption()
  31. )
  32. with open('companies\\' + company + '_privatekey.key','wb') as f:
  33. f.write(pem)
  34. #write the public key to a file
  35. # pukey = open('companies\\' + company + '_publickey.key','wb')
  36. # pukey.write(pubkey.save_pkcs1('PEM'))
  37. # pukey.close()
  38. # # write the private key to a file
  39. # prkey = open('companies\\' + company + '_privatekey.key','wb')
  40. # prkey.write(privkey.save_pkcs1('PEM'))
  41. # prkey.close()