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 
22 interface p6IEnumCACerts : public p6ICom
23 {
24  P6COMMETHOD next(P6R::P6UINT32 cElements,P6R::p6ComPtr<P6R::p6ICert> *parElements,P6R::P6UINT32 *pcReturned) = 0;
25  P6COMMETHOD reset() = 0;
26 };
27 // {D3810A32-2F26-4F44-A103-D9AA21610C3D}
28 #define IF_p6IEnumCACerts {0xD3810A32,0x2F26,0x4F44,{0xA1,0x03,0xD9,0xAA,0x21,0x61,0x0C,0x3D}}
29 
31 static const P6PKCS12FLAGS P6PK12F_NONE = 0x00000000;
32 
57 interface p6IPkcs12 : public p6ICom
58 {
60  P6COMMETHOD import(const P6R::P6WCHAR *pszFilename,const P6R::P6CHAR *pszPassword) = 0;
61  P6COMMETHOD getPrivateKey(P6R::p6ICryptoKey **ppPrivateKey) = 0;
62  P6COMMETHOD getCertificate(P6R::p6ICert **ppCertificate) = 0;
64 };
65 // {930A32BE-1080-43CF-9825-A47C46EF6968}
66 #define IF_p6IPkcs12 {0x930A32BE,0x1080,0x43CF,{0x98,0x25,0xA4,0x7C,0x46,0xEF,0x69,0x68}}
67 
68 // {386668E1-A176-4D8E-8693-36FC2FE2B2A9}
69 #define COMP_p6Pkcs12 {0x386668E1,0xA176,0x4D8E,{0x86,0x93,0x36,0xFC,0x2F,0xE2,0xB2,0xA9}}
70 
71 #ifdef __cplusplus
72 }
73 #endif
74 
75 }
76 
77 #endif
virtual P6R::P6ERR getPrivateKey(P6R::p6ICryptoKey **ppPrivateKey)=0
A smart pointer implementation to help manage and use [p6]COM based interfaces.
Definition: p6comptr.h:214
This interface provides key metadata infrormation and key access.
Definition: p6cryptokey.h:787
unsigned int P6UINT32
Definition: p6types.h:40
virtual P6R::P6ERR initialize(P6R::P6PKCS12FLAGS fFlags)=0
virtual P6R::P6ERR enumCACerts(P6R::p6IEnumCACerts **ppEnum)=0
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:76
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:96
virtual P6R::P6ERR reset()=0
virtual P6R::P6ERR getCertificate(P6R::p6ICert **ppCertificate)=0
Interface definition for X509 V3 Certificates.
P6UINT32 P6PKCS12FLAGS
Definition: p6pkcs12.h:30
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:863
This component allows importing from and exporting to PKCS12 format files.
Definition: p6pkcs12.h:57
virtual P6R::P6ERR next(P6R::P6UINT32 cElements, P6R::p6ComPtr< P6R::p6ICert > *parElements, P6R::P6UINT32 *pcReturned)=0
char P6CHAR
Narrow character type.
Definition: p6types.h:71
P6R Cryptographic key interface definitions.