Для тих кому викликати openssl надоїло. Це дивно, але цього нема в стандартній бібліотеці python, тому:
sudo pip install pycrypto
Тоді:
from Crypto.PublicKey import RSA from Crypto import Random private_key = RSA.generate(1024, Random.new().read) public_key = private_key.publickey() print(private_key.exportKey().decode('ascii')) print(public_key.exportKey().decode('ascii'))
Що дасть нам:
-----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQCFO0e8pxFV5Niq9Kjkn7HpX5xCbsh2oP56t2goNw/qZnddzW1x ... blablabla ... dB6mvhutUqKRZDaA1o4y1kytKTG42RfEtdm8t1Z/77dS -----END RSA PRIVATE KEY----- -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCFO0e8pxFV5Niq9Kjkn7HpX5xC bsh2oP56t2goNw/qZnddzW1xW3rWxYI2/Jxp/hv7EGapg12EcViF/C8Uv2WbCDEM LIRaMqtHKFNaniscMgZKgaohkjXcLk5dIrVXuuxY7sk07BZqj+Jsv6xgR6GZ0CmG Q3ZOmGAKksC/YA3gYwIDAQAB -----END PUBLIC KEY-----
В іншій публікації було показано як це робити допомогою openssl, і як цими ключами підписати токен.