I am using some java code snippets as a reference to work on a python application (2.7.9) I am making. I know the java code parts function correctly, but my python versions are not.
I am trying to save a generated RSA key pair (2048 bit) to a file on disk.
I can generate the key pair by calling:
def generate_key_pair():
"""Generates a 2048 bit RSA key pair"""
return RSA.generate(2048)
to save them to disk in the "required" format is where I am having issues. The java program does it with this statement:
RSAIO.save(rsaDirectory, keyPair);
What is the equivalent Python statement (I am using the pycrypto module)? (If possible, please limit the answers to for cryptography to pycrypto and standard python library modules...)
Is there a sort of cheat sheet of equivalenent modules/methods between Java and Python?
EDIT: I tried using Saving RSA keys to a file, using pycrypto as suggested, but my file ends up producing (private key example):
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA2B6XEIH24P+pA+bylZIt6KPErRFMbP5BZrTNQiyuhAMG1ku5
psob8SZQsI2ApaB3HwGaebd9KsK7Y+fdBeRiIFN37DWfyxS7o7xU4OloReNm9cdl
r92Axo2h8itQXaSlTvUhJJiv1g0rWclrsoJPKGH/RNwhV8EdoLi1ln4hw3bIOQ2H
N8Gto/YiiXujWaf5+Y2ocQNSc+TP/6AKy1RN1uh80uqQAmtN1WjW35luLrGWm0pt
<more individual lines Stack overflow wont let me paste as code>
ZnWmC5IkLbqw3VzQRCOO3aj0v51+HjtYoPF3U5VlCUTzcX3Jyt3XOoSGwEtWCsvk
1KGYv7ke+0b8wW3n6I+hwRA0Swi9fRzVuS2G/XXfGZgKDv8mksg8uAk=
-----END RSA PRIVATE KEY-----
Whereas the Java version will produce something like:
`MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCbo8t/mbeRYJTF80pyeU8QSDH15V>pS6AVaNWG2RxmFnx3KUm9kv/Acm9m5IFxpktfB2AE+LUhKaedk3JZP/S7Oe+45VpweOyR1bHo16QCs>d4+7ulm6zad2fzJs/fPYe0l4QFdrlj59DJNEzppdjY8pvdXL2PySj42CsTj7clJ2toHOvuxXnFwzFg>j64CFDYiXVo+FjFPi4gKEZ8Xe/5VvdrzX7TVfpXr1fpVBEP0nGD8mISoO/XO2pKYLs1hLfvoVW5/Ii>zRbShiF7cKHZgirEd7Je4JKe7oWX9HPTquaCnQGtdIHfsq7TO0Cvtami975N10m6GerVwwn9hUdEhw>XfAgMBAAECggEARFQwryBpOuXP6ufYs1EWqOtJI89BTEyYrPXqo/+q8MLebUirpuutGqJBf8j5SVAy>cOPIB+gRaLn94IYHZ66bsgMunvWrLIqCgxrQvIJCzXTgIWa6pgxLjPZiyP7k4xGdO7Hjr1QSswumS/>r4QkI3q/evuQLWP/HOCqaLgbi7A2qEj3rZhsvyqMWIy45Uv82XVMZE4Ykd5+EL6knHqtZfx1BZmjJE>0qBZjYgUVzG6lTZT23s9JOv7DdfGr4xJVoYQjcMN5Lq6U8ifEZ8RuCD77a18MU5YT6nGInBpj0vmCu>wAS/90d9Ky66lHyTi/g1NqfUDsvcCUCNoM6rZtiBY+wQKBgQDcHl7oHA5vh0g6nDgUJv0oVYD16j4f>s1Ds/x3eC0lT9UpOxxXt4plu9oRsbe+Q5GphpR96sAQf+lvvaToFnOeln+/kQR+badezplrR7OJCMf>VpmltEJwBt/gVUO9WOo+AyQ2Zyg23dBAhjU/MJXMOezJH2/xJw8A3f8JJ6iK6JpwKBgQC1ArNJ3jAz>4W/DU7zwnqtS95APYl00ntafiiMyvNkmyPeGxIAG3UMdq8Y5pse3ZWSNECBjbAN+en7z7xC+eZ4v3Y>Q/NiCpA12UEmNVW+QZRYPMSLcwhO//gT9X+HKaruv5YAVM+TF4PlhPeUubJgolaC9YpntgnZVd09UC>NBI5CQKBgQDUNzOo8+O3AuZQG2y1gSFxUX4TmNJsHaVX2F4jRR5dI4+Qg8BQqLbklCb3osXlG1K08U>14K1rOucEJAJo/7xYmSBwwI9klLNYZDblhytAYobHJLlfvTOrNIKpim405CCWOUAzlOnEhNFIh8T3P>OPAgmXngd+p/l/DIhleyazRa4QKBgQCSvBCpNfPvarXWKuDEUmviAwwGXJ/gE08635lu/QYv2cRGvK>5oYh+RQvmbLKdD9W7Qp50J27rtYdHeXxM8xYxFkxYsw+0v9al7aniZ7rb3AZI5HU1biLihcJ3v61jE>Kj7i1kMVxgCjUC74pgRzTh/1eQLAo5zqknROLnXDpoCLOQKBgQDIsLoVYLZaCkwjK29y+8UonAVjNy>5Ld+1mTIPdOObPTS4xFnOFBVl+jSk1mSmsZ71X1RRz8DNMsi+ErHQwrjjdN0UNTxAyY9wdS5aPC7pP>TJuKuDLzfGLZzhz8rqiauAuXmxKE19qTjaegIs7UFpvbDsAP88AMHkPtWK7TCKuriw==`
I have tried all sorts of different format=
statements (PEM, DER, OpenSSH) and none produce the same output.