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 namespace P6R {
17 
18 #ifdef __cplusplus
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 interface p6IPkcs12 : public p6ICom
104 {
106 
107  P6COMMETHOD import(const P6R::P6WCHAR *pszFilename,const P6R::P6CHAR *pszPassword) = 0;
108 
109  P6COMMETHOD getPrivateKey(P6R::p6ICryptoKey **ppPrivateKey) = 0;
110 
111  P6COMMETHOD getCertificate(P6R::p6ICert **ppCertificate) = 0;
112 
114 
134  P6COMMETHOD exportAsP12(const P6R::P6WCHAR *pszFilename,const P6R::P6CHAR *pszPassword,P6R::p6ICryptoKey *pPrivateKey,P6R::p6ICert *pClientCert,P6R::p6ICert **ppCACertsArray,P6R::P6UINT32 caCount,P6R::P6PKCS12_OPTIONS* pOptions) = 0;
135 };
136 // {930A32BE-1080-43CF-9825-A47C46EF6968}
137 #define IF_p6IPkcs12 {0x930A32BE,0x1080,0x43CF,{0x98,0x25,0xA4,0x7C,0x46,0xEF,0x69,0x68}}
138 
139 // {386668E1-A176-4D8E-8693-36FC2FE2B2A9}
140 #define COMP_p6Pkcs12 {0x386668E1,0xA176,0x4D8E,{0x86,0x93,0x36,0xFC,0x2F,0xE2,0xB2,0xA9}}
141 
142 #ifdef __cplusplus
143 }
144 #endif
145 
146 }
147 
148 #endif
virtual P6R::P6ERR getPrivateKey(P6R::p6ICryptoKey **ppPrivateKey)=0
P6PBEMETHOD
Password based encryption (PBE) functions.
Definition: p6pkcs12.h:43
This interface is used to enumerate a set of certificates.
Definition: p6cert.h:792
This interface provides key metadata infrormation and key access.
Definition: p6cryptokey.h:1100
unsigned int P6UINT32
Definition: p6types.h:40
virtual P6R::P6ERR initialize(P6R::P6PKCS12FLAGS fFlags)=0
P6CHAR * pFriendlyName
Definition: p6pkcs12.h:71
P6PKCS12_OPTIONS.
Definition: p6pkcs12.h:70
P6CHAR ** pCANameArray
Definition: p6pkcs12.h:72
unsigned char P6UINT8
Definition: p6types.h:30
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:76
P6PBEMETHOD certPBE
Definition: p6pkcs12.h:76
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:96
P6PBEMETHOD keyPBE
Definition: p6pkcs12.h:75
virtual P6R::P6ERR exportAsP12(const P6R::P6WCHAR *pszFilename, const P6R::P6CHAR *pszPassword, P6R::p6ICryptoKey *pPrivateKey, P6R::p6ICert *pClientCert, P6R::p6ICert **ppCACertsArray, P6R::P6UINT32 caCount, P6R::P6PKCS12_OPTIONS *pOptions)=0
Generate an PKCS #12 file given the following components: private key, certificate for the private ke...
virtual P6R::P6ERR enumCACerts(P6R::p6IEnumCerts **ppEnum)=0
virtual P6R::P6ERR getCertificate(P6R::p6ICert **ppCertificate)=0
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:180
#define P6COMMETHOD
Definition: p6types.h:917
This component allows importing from and exporting to PKCS12 format files.
Definition: p6pkcs12.h:103
char P6CHAR
Narrow character type.
Definition: p6types.h:71
P6R Cryptographic key interface definitions.