Poco::Crypto

class KeyPair

Library: Crypto
Package: CryptoCore
Header: Poco/Crypto/KeyPair.h

Description

This is a parent class for classes storing a key pair, consisting of private and public key. Storage of the private key is optional.

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

Inheritance

Known Derived Classes: RSAKey, ECKey

Member Summary

Member Functions: impl, name, save, size, type

Enumerations

Type

KT_RSA = KeyPairImpl::KT_RSA_IMPL

KT_EC = KeyPairImpl::KT_EC_IMPL

Constructors

KeyPair

explicit KeyPair(
    KeyPairImpl::Ptr pKeyPairImpl = 0
);

Extracts the RSA public key from the given certificate.

Destructor

~KeyPair virtual

virtual ~KeyPair();

Destroys the KeyPair.

Member Functions

impl inline

KeyPairImpl::Ptr impl() const;

Returns the impl object.

name inline

const std::string & name() const;

Returns key pair name

save virtual inline

virtual void save(
    const std::string & publicKeyPairFile,
    const std::string & privateKeyPairFile = "",
    const std::string & privateKeyPairPassphrase = ""
) const;

Exports the public and private keys to the given files.

If an empty filename is specified, the corresponding key is not exported.

save virtual

virtual void save(
    std::ostream * pPublicKeyPairStream,
    std::ostream * pPrivateKeyPairStream = 0,
    const std::string & privateKeyPairPassphrase = ""
) const;

Exports the public and private key to the given streams.

If a null pointer is passed for a stream, the corresponding key is not exported.

size virtual inline

virtual int size() const;

Returns the RSA modulus size.

type inline

Type type() const;

Returns key pair type