Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6pkcs12.h
Go to the documentation of this file.
1 
10 #ifndef P6PKCS12_H__
11 #define P6PKCS12_H__ 1
12 
13 #include "p6cert.h"
14 #include "p6cryptokey.h"
15 
16 
17 #ifdef __cplusplus
18 namespace P6R {
19 extern "C" {
20 #endif
21 
23 static const P6PKCS12FLAGS P6PK12F_NONE = 0x00000000;
24 
25 
43 typedef enum {
54 } P6PBEMETHOD;
55 
56 
70 typedef struct {
78 
103 #undef INTERFACE
104 #define INTERFACE p6IPkcs12
106 {
108  P6DECLCOMMETHOD(initialize)(P6THIS_ P6PKCS12FLAGS fFlags) P6PURE;
109 
110 
131  P6DECLCOMMETHOD(import)(P6THIS_ const P6WCHAR *pszFilename,const P6CHAR *pszPassword) P6PURE;
132 
133  P6DECLCOMMETHOD(importBuffer)(P6THIS_ P6VOID *pBuffer,P6UINT32 cBuffer,const P6CHAR *pszPassword) P6PURE;
134 
135  P6DECLCOMMETHOD(getPrivateKey)(P6THIS_ p6ICryptoKey **ppPrivateKey) P6PURE;
136 
137  P6DECLCOMMETHOD(getCertificate)(P6THIS_ p6ICert **ppCertificate) P6PURE;
138 
139  P6DECLCOMMETHOD(enumCACerts)(P6THIS_ p6IEnumCerts **ppEnum) P6PURE;
140 
160  P6DECLCOMMETHOD(exportAsP12)(P6THIS_ const P6WCHAR *pszFilename,const P6CHAR *pszPassword,p6ICryptoKey *pPrivateKey,p6ICert *pClientCert,p6ICert **ppCACertsArray,P6UINT32 caCount,P6PKCS12_OPTIONS* pOptions) P6PURE;
161 };
162 // {930A32BE-1080-43CF-9825-A47C46EF6968}
163 #define IF_p6IPkcs12 {0x930A32BE,0x1080,0x43CF,{0x98,0x25,0xA4,0x7C,0x46,0xEF,0x69,0x68}}
164 
165 // {386668E1-A176-4D8E-8693-36FC2FE2B2A9}
166 #define COMP_p6Pkcs12 {0x386668E1,0xA176,0x4D8E,{0x86,0x93,0x36,0xFC,0x2F,0xE2,0xB2,0xA9}}
167 
168 #ifdef __cplusplus
169 } /* extern "C"*/
170 } /* namespace */
171 #endif
172 
173 #endif
P6PBEMETHOD
Password based encryption (PBE) functions.
Definition: p6pkcs12.h:43
This interface is used to enumerate a set of certificates.
Definition: p6cert.h:806
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
P6CHAR * pFriendlyName
Definition: p6pkcs12.h:71
#define P6PURE
Definition: p6defs.h:192
P6PKCS12_OPTIONS.
Definition: p6pkcs12.h:70
P6CHAR ** pCANameArray
Definition: p6pkcs12.h:72
unsigned char P6UINT8
Definition: p6types.h:71
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:111
P6PBEMETHOD certPBE
Definition: p6pkcs12.h:76
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
P6PBEMETHOD keyPBE
Definition: p6pkcs12.h:75
Interface definition for X509 V3 Certificates.
P6UINT32 P6PKCS12FLAGS
Definition: p6pkcs12.h:22
This interface allows the caller to access parts of an X509 V3 certificate for use in protocols and i...
Definition: p6cert.h:111
This component allows importing from and exporting to PKCS12 format files.
Definition: p6pkcs12.h:105
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:189
#define P6THIS_
Definition: p6defs.h:193
void P6VOID
Definition: p6types.h:109
char P6CHAR
Narrow character type.
Definition: p6types.h:105
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:188
P6R Cryptographic key interface definitions.