#include <p6encryptenvelope.h>
Inherits P6R::p6ICom.
Public Member Functions | |
virtual P6R::P6ERR | addKey (p6ICryptoKey *pCryptoKey, P6CRYPTODATASINK *pOutKeyWrapper)=0 |
virtual P6INT32 | addref (void)=0 |
virtual P6R::P6ERR | encryptEnvelope (P6CRYPTODATASOURCE *pInData, P6CRYPTODATASINK *pOutData)=0 |
virtual P6R::P6ERR | initialize (P6ENCENVFLAGS flags, P6UINT16 numPubKeys, P6CRYPTOCIPHER mode, P6UINT32 keySize, p6IRandom *pRandom)=0 |
virtual P6R::P6ERR | queryInterface (const P6R::P6IID &iid, P6VOID **ppIface)=0 |
virtual P6INT32 | release (void)=0 |
This interface provides a mechanism to use PKI for the encryption of chunks of data.
This is done by using PKI public–private key pairs to encrypt a symetric key (the session key) thus providing an easy scheme of key distribution. The symetric key is what is actually used to encrypt / decrypt the real data to be transported. The encrypted session key and data are then transported to the receiver. (The actual transport is not provided here.)
The session key is encrypted using the public key at the sender. The private key is used to decrypt the session key at the receiver. This session key is used only once. The p6IDecryptEnvelope interface is used at the receiver.
Definition at line 52 of file p6encryptenvelope.h.