Poco::Crypto

class RSAKey

Library: Crypto
Package: RSA
Header: Poco/Crypto/RSAKey.h

Deprecated. This class is deprecated and should no longer be used.

Description

This class stores an RSA key pair, consisting of private and public key. Storage of the private key is optional.

If a private key is available, the RSAKey can be used for decrypting data (encrypted with the public key) or computing secure digital signatures.

Inheritance

Direct Base Classes: KeyPair

All Base Classes: KeyPair

Member Summary

Member Functions: decryptionExponent, encryptionExponent, impl, modulus, operator =

Inherited Functions: impl, name, operator =, save, size, type

Enumerations

Exponent

EXP_SMALL = 0

EXP_LARGE

KeyLength

KL_512 = 512

KL_1024 = 1024

KL_2048 = 2048

KL_4096 = 4096

Constructors

RSAKey

RSAKey(
    const EVPPKey & key
);

Constructs RSAKey by extracting the RSA key.

RSAKey

RSAKey(
    const X509Certificate & cert
);

Extracts the RSA public key from the given certificate.

RSAKey

RSAKey(
    const PKCS12Container & cert
);

Extracts the RSA private key from the given certificate.

RSAKey

RSAKey(
    const RSAKey & other
);

Copy constructor.

RSAKey

RSAKey(
    RSAKey && other
) noexcept;

Move constructor.

RSAKey

RSAKey(
    KeyLength keyLength,
    Exponent exp
);

Creates the RSAKey. Creates a new public/private keypair using the given parameters. Can be used to sign data and verify signatures.

RSAKey

RSAKey(
    const std::string & publicKeyFile,
    const std::string & privateKeyFile = "",
    const std::string & privateKeyPassphrase = ""
);

Creates the RSAKey, by reading public and private key from the given files and using the given passphrase for the private key.

Cannot be used for signing or decryption unless a private key is available.

If a private key is specified, you don't need to specify a public key file. OpenSSL will auto-create the public key from the private key.

RSAKey

RSAKey(
    std::istream * pPublicKeyStream,
    std::istream * pPrivateKeyStream = 0,
    const std::string & privateKeyPassphrase = ""
);

Creates the RSAKey, by reading public and private key from the given streams and using the given passphrase for the private key.

Cannot be used for signing or decryption unless a private key is available.

If a private key is specified, you don't need to specify a public key file. OpenSSL will auto-create the public key from the private key.

Destructor

~RSAKey virtual

~RSAKey();

Destroys the RSAKey.

Member Functions

decryptionExponent

RSAKeyImpl::ByteVec decryptionExponent() const;

Returns the RSA decryption exponent.

encryptionExponent

RSAKeyImpl::ByteVec encryptionExponent() const;

Returns the RSA encryption exponent.

impl inline

RSAKeyImpl::Ptr impl() const;

Returns the impl object.

modulus

RSAKeyImpl::ByteVec modulus() const;

Returns the RSA modulus.

operator =

RSAKey & operator = (
    const RSAKey & other
);

Assignment.

operator =

RSAKey & operator = (
    RSAKey && other
) noexcept;

Move assignment.