Overview
Classes: Cipher, CipherFactory, CipherImpl, CipherKey, CipherKeyImpl, CryptoIOS, CryptoInputStream, CryptoOutputStream, CryptoStreamBuf, CryptoTransform, DecryptingInputStream, DecryptingOutputStream, DigestEngine, EncryptingInputStream, EncryptingOutputStream, OpenSSLInitializer, RSACipherImpl, RSADigestEngine, RSAKey, RSAKeyImpl, X509Certificate
Functions: initializeCrypto, uninitializeCrypto
Classes
class Cipher
Represents the abstract base class from which all implementations of
symmetric/assymetric encryption algorithms must inherit.
class CipherFactory
A factory for Cipher objects.
class CipherImpl
An implementation of the Cipher class for OpenSSL's crypto library.
class CipherKey
CipherKey stores the key information for decryption/encryption of data.
class CipherKeyImpl
An implementation of the CipherKey class for OpenSSL's crypto library.
class CryptoIOS
The base class for CryptoInputStream and CryptoOutputStream.
class CryptoInputStream
This stream transforms all data passing through it using the given
CryptoTransform.
class CryptoOutputStream
This stream transforms all data passing through it using the given
CryptoTransform.
class CryptoStreamBuf
This stream buffer performs cryptographic transformation on the data
going through it.
class CryptoTransform
This interface represents the basic operations for cryptographic
transformations to be used with a CryptoInputStream or a
CryptoOutputStream.
class DecryptingInputStream
This stream decrypts all data passing through it using the given
Cipher.
class DecryptingOutputStream
This stream decrypts all data passing through it using the given
Cipher.
class DigestEngine
This class implements a Poco::DigestEngine for all
digest algorithms supported by OpenSSL.
class EncryptingInputStream
This stream encrypts all data passing through it using the given
Cipher.
class EncryptingOutputStream
This stream encrypts all data passing through it using the given
Cipher.
class OpenSSLInitializer
Initalizes the OpenSSL library.
class RSACipherImpl
An implementation of the Cipher class for
assymetric (public-private key) encryption
based on the the RSA algorithm in OpenSSL's
crypto library.
class RSADigestEngine
This class implements a Poco::DigestEngine that can be
used to compute a secure digital signature.
class RSAKey
This class stores an RSA key pair, consisting
of private and public key.
class RSAKeyImpl
class RSAKeyImpl
class X509Certificate
This class represents a X509 Certificate.
Functions
initializeCrypto
void initializeCrypto();
Initialize the Crypto library, as well as the underlying OpenSSL libraries, by calling OpenSSLInitializer::initialize().
Should be called before using any class from the Crypto library. The Crypto library will be initialized automatically, through OpenSSLInitializer instances held by various Crypto classes (Cipher, CipherKey, RSAKey, X509Certificate). However, it is recommended to call initializeCrypto() in any case at application startup.
Can be called multiple times; however, for every call to initializeCrypto(), a matching call to uninitializeCrypto() must be performed.
uninitializeCrypto
void uninitializeCrypto();
Uninitializes the Crypto library by calling OpenSSLInitializer::uninitialize().