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 
18 #ifdef __cplusplus
19 namespace P6R {
20 extern "C" {
21 #endif
22 
33 static const P6ENCENVFLAGS P6ENCENV_NOFLAGS = 0x00000000;
34 static const P6ENCENVFLAGS P6ENCENV_TRACEON = 0x00000001;
35 
36 
50 #undef INTERFACE
51 #define INTERFACE p6IEncryptEnvelope
53 {
55 
75  P6DECLCOMMETHOD(initialize)(P6THIS_ P6ENCENVFLAGS flags,
76  P6UINT16 numPubKeys,
77  P6CRYPTOCIPHER mode,
78  P6UINT32 keySize,
79  p6IRandom* pRandom ) P6PURE;
80 
98  P6DECLCOMMETHOD(addKey)(P6THIS_ p6ICryptoKey* pCryptoKey, P6CRYPTODATASINK* pOutKeyWrapper ) P6PURE;
99 
125  P6DECLCOMMETHOD(encryptEnvelope)(P6THIS_ P6CRYPTODATASOURCE* pInData, P6CRYPTODATASINK* pOutData ) P6PURE;
126 };
127 
128 // {466F6387-AE48-487b-8993-0D0552362819}
129 #define IF_p6IEncryptEnvelope {0x466f6387,0xae48,0x487b,{0x89,0x93,0xd,0x5,0x52,0x36,0x28,0x19}}
130 
131 // {8CA5BF75-3AFF-4f79-B4A5-B95492F69E21}
132 #define COMP_p6EncryptEnvelope {0x8ca5bf75,0x3aff,0x4f79,{0xb4,0xa5,0xb9,0x54,0x92,0xf6,0x9e,0x21}}
133 
134 #ifdef __cplusplus
135 }
136 } // namespace
137 #endif
138 
139 
140 
141 #endif
142 
143 
144 
145 
146 
147 
148 
This interface provides key metadata infrormation and key access.
Definition: p6cryptokey.h:1198
uint32_t P6UINT32
Definition: p6types.h:77
#define P6DECLAREICOM
Definition: p6defs.h:191
#define P6PURE
Definition: p6defs.h:192
P6UINT32 P6ENCENVFLAGS
P6ENCENVFLAGS.
[p6]COM Cryptographic Random Number Generator.
P6CRYPTOCIPHER
Cipher Type.
Definition: p6crypto.h:112
Where to get the data to process, either a file or generic buffer.
Definition: p6crypto.h:36
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
Provides a cryptographically strong random number generator.
Definition: p6random.h:99
This interface provides a mechanism to use PKI for the encryption of chunks of data.
Where to put the data processed, either a file or generic buffer.
Definition: p6crypto.h:54
uint16_t P6UINT16
Definition: p6types.h:75
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:189
#define P6THIS_
Definition: p6defs.h:193
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:188
P6R Cryptographic key interface definitions.