Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6encryptenvelope.h
Go to the documentation of this file.
1 
11 #ifndef P6ENCRYPTENVELOPE_H__
12 #define P6ENCRYPTENVELOPE_H__ 1
13 
14 #include "p6cryptokey.h"
15 #include "p6random.h"
16 
17 namespace P6R {
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
33 const P6ENCENVFLAGS P6ENCENV_NOFLAGS = 0x00000000;
34 const P6ENCENVFLAGS P6ENCENV_TRACEON = 0x00000001;
35 
36 
50 interface p6IEncryptEnvelope : public p6ICom
51 {
71  P6COMMETHOD initialize( P6ENCENVFLAGS flags,
72  P6UINT16 numPubKeys,
73  P6CRYPTOCIPHER mode,
74  P6UINT32 keySize,
75  p6IRandom* pRandom ) = 0;
76 
94  P6COMMETHOD addKey( p6ICryptoKey* pCryptoKey, P6CRYPTODATASINK* pOutKeyWrapper ) = 0;
95 
122 };
123 
124 // {466F6387-AE48-487b-8993-0D0552362819}
125 #define IF_p6IEncryptEnvelope {0x466f6387,0xae48,0x487b,{0x89,0x93,0xd,0x5,0x52,0x36,0x28,0x19}}
126 
127 // {8CA5BF75-3AFF-4f79-B4A5-B95492F69E21}
128 #define COMP_p6EncryptEnvelope {0x8ca5bf75,0x3aff,0x4f79,{0xb4,0xa5,0xb9,0x54,0x92,0xf6,0x9e,0x21}}
129 
130 #ifdef __cplusplus
131 }
132 #endif
133 
134 } // namespace
135 
136 
137 #endif
138 
139 
140 
141 
142 
143 
144 
This interface provides key metadata infrormation and key access.
Definition: p6cryptokey.h:787
unsigned int P6UINT32
Definition: p6types.h:40
const P6ENCENVFLAGS P6ENCENV_NOFLAGS
P6UINT32 P6ENCENVFLAGS
P6ENCENVFLAGS.
[p6]COM Cryptographic Random Number Generator.
virtual P6R::P6ERR addKey(p6ICryptoKey *pCryptoKey, P6CRYPTODATASINK *pOutKeyWrapper)=0
Load RSA public key into the p6crypto component.
P6CRYPTOCIPHER
Cipher Type.
Definition: p6crypto.h:99
unsigned short int P6UINT16
Definition: p6types.h:34
Where to get the data to process, either a file or generic buffer.
Definition: p6crypto.h:37
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:96
virtual P6R::P6ERR initialize(P6ENCENVFLAGS flags, P6UINT16 numPubKeys, P6CRYPTOCIPHER mode, P6UINT32 keySize, p6IRandom *pRandom)=0
Sets up the object to run properly.
const P6ENCENVFLAGS P6ENCENV_TRACEON
Provides a cryptographically strong random number generator.
Definition: p6random.h:70
This interface provides a mechanism to use PKI for the encryption of chunks of data.
virtual P6R::P6ERR encryptEnvelope(P6CRYPTODATASOURCE *pInData, P6CRYPTODATASINK *pOutData)=0
Using the symetric key generated by calling genSessionKey encrypt the block of data provided by the d...
Where to put the data processed, either a file or generic buffer.
Definition: p6crypto.h:55
#define P6COMMETHOD
Definition: p6types.h:872
P6R Cryptographic key interface definitions.