Compatibility with standards
============================

.. index:: OpenSSL
.. index:: compatibility

Python-RSA implements encryption and signatures according to PKCS#1
version 1.5. This makes it compatible with the OpenSSL RSA module.

Keys are stored in PEM or DER format according to PKCS#1 v1.5. Private
keys are compatible with OpenSSL. However, OpenSSL uses X.509 for its
public keys, which are not supported.

Encryption:
    PKCS#1 v1.5 with at least 8 bytes of random padding

Signatures:
    PKCS#1 v1.5 using the following hash methods:
    MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-384, SHA3-512

Private keys:
    PKCS#1 v1.5 in PEM and DER format, ASN.1 type RSAPrivateKey

Public keys:
    PKCS#1 v1.5 in PEM and DER format, ASN.1 type RSAPublicKey

:ref:`VARBLOCK <bigfiles>` encryption:
    Deprecated in Python-RSA 3.4 and removed from Python-RSA 4.0.
    Was Python-RSA only, not compatible with any other known application.

.. _openssl:

Interoperability with OpenSSL
-----------------------------

You can create a 512-bit RSA key in OpenSSL as follows::

    openssl genrsa -out myprivatekey.pem 512

To get a Python-RSA-compatible public key from OpenSSL, you need the
private key first, then run it through the ``pyrsa-priv2pub``
command::

    pyrsa-priv2pub -i myprivatekey.pem -o mypublickey.pem

Encryption and decryption is also compatible::

    $ echo hello there > testfile.txt
    $ pyrsa-encrypt -i testfile.txt -o testfile.rsa publickey.pem
    $ openssl rsautl -in testfile.rsa -inkey privatekey.pem -decrypt
    hello there

Interoperability with PKCS#8
----------------------------

The standard PKCS#8 is widely used, and more complex than the PKCS#1
v1.5 supported by Python-RSA. In order to extract a key from the
PKCS#8 format you need an external tool such as OpenSSL::

    openssl rsa -in privatekey-pkcs8.pem -out privatekey.pem

You can then extract the corresponding public key as described above.
