Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6sign.h
Go to the documentation of this file.
1 
11 #ifndef P6SIGN_H__
12 #define P6SIGN_H__ 1
13 
14 #include "p6crypto.h"
15 #include "p6cryptokey.h"
16 
17 #ifdef __cplusplus
18 namespace P6R {
19 extern "C" {
20 #endif
21 
45 typedef enum {
56 } P6SIGNHMAC;
57 
68 const P6SIGNFLAGS P6SIGN_NOFLAGS = 0x00000000;
69 const P6SIGNFLAGS P6SIGN_TRACEON = 0x00000001;
70 
71 
79 #undef INTERFACE
80 #define INTERFACE p6ISign
82 {
97  P6DECLCOMMETHOD(initialize)(P6THIS_ P6SIGNFLAGS flags ) P6PURE;
98 
116  P6DECLCOMMETHOD(setKey)(P6THIS_ p6ICryptoKey* pKey ) P6PURE;
117 
152  P6DECLCOMMETHOD(sign)(P6THIS_ P6CRYPTODATASOURCE* pInData, P6CRYPTODATASINK* pOutData, P6BOOL base64Encode, P6SIGNHMAC hmac) P6PURE;
153 
185  P6DECLCOMMETHOD(verify)(P6THIS_ P6CRYPTODATASOURCE* pInData, P6CRYPTODATASOURCE* pSignature, P6BOOL base64Encoded, P6SIGNHMAC hmac) P6PURE;
186 
223  P6DECLCOMMETHOD(signDSARaw)(P6THIS_ P6CRYPTODATASOURCE* pInData, P6UCHAR* pR, P6UINT32* pRLength, P6UCHAR* pS, P6UINT32* pSLength ) P6PURE;
224 
250  P6DECLCOMMETHOD(verifyDSARaw)(P6THIS_ P6CRYPTODATASOURCE* pInData, P6UCHAR* pR, P6UINT32 rLength, P6UCHAR* pS, P6UINT32 sLength ) P6PURE;
251 };
252 
253 // {F1D98E80-E10F-448f-81FA-E94B75B7183A}
254 #define IF_p6ISign {0xf1d98e80,0xe10f,0x448f,{0x81,0xfa,0xe9,0x4b,0x75,0xb7,0x18,0x3a}}
255 
256 // {13B2B4BA-9258-422b-AF54-FE2118B145B2}
257 #define COMP_p6Sign {0x13b2b4ba,0x9258,0x422b,{0xaf,0x54,0xfe,0x21,0x18,0xb1,0x45,0xb2}}
258 
259 #ifdef __cplusplus
260 } /* extern "C" */
261 } // namespace
262 #endif
263 
264 
265 
266 #endif
267 
268 
269 
P6SIGNHMAC
Supported HMAC algorthms for signing:
Definition: p6sign.h:45
unsigned char P6UCHAR
Definition: p6types.h:87
Cryptography component definitions.
This interface provides key metadata infrormation and key access.
Definition: p6cryptokey.h:1195
This interface provides cryptographic signature generation and verification functions.
Definition: p6sign.h:81
unsigned int P6UINT32
Definition: p6types.h:46
#define P6DECLAREICOM
Definition: p6defs.h:175
#define P6PURE
Definition: p6defs.h:176
unsigned char P6BOOL
Boolean type.
Definition: p6types.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
P6UINT32 P6SIGNFLAGS
P6SIGNFLAGS.
Definition: p6sign.h:67
Where to put the data processed, either a file or generic buffer.
Definition: p6crypto.h:54
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:173
const P6SIGNFLAGS P6SIGN_TRACEON
Definition: p6sign.h:69
#define P6THIS_
Definition: p6defs.h:177
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:172
P6R Cryptographic key interface definitions.
const P6SIGNFLAGS P6SIGN_NOFLAGS
Definition: p6sign.h:68