Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
P6R::p6IPkcs12 Interface Referenceabstract

#include <p6pkcs12.h>

Inherits P6R::p6ICom.

Public Member Functions

virtual P6INT32 addref (void)=0
 
virtual P6R::P6ERR enumCACerts (p6IEnumCerts **ppEnum)=0
 
virtual P6R::P6ERR exportAsP12 (const P6WCHAR *pszFilename, const P6CHAR *pszPassword, p6ICryptoKey *pPrivateKey, p6ICert *pClientCert, p6ICert **ppCACertsArray, P6UINT32 caCount, P6PKCS12_OPTIONS *pOptions)=0
 
virtual P6R::P6ERR getCertificate (p6ICert **ppCertificate)=0
 
virtual P6R::P6ERR getPrivateKey (p6ICryptoKey **ppPrivateKey)=0
 
virtual P6R::P6ERR import (const P6WCHAR *pszFilename, const P6CHAR *pszPassword)=0
 
virtual P6R::P6ERR importBuffer (P6VOID *pBuffer, P6UINT32 cBuffer, const P6CHAR *pszPassword)=0
 
virtual P6R::P6ERR initialize (P6PKCS12FLAGS fFlags)=0
 
virtual P6R::P6ERR queryInterface (const P6R::P6IID &iid, P6VOID **ppIface)=0
 
virtual P6INT32 release (void)=0
 

Detailed Description

This component allows importing from and exporting to PKCS12 format files.

A PKCS12 files allows a private key, client certificate and root certificate (and any other certificate in the chain) to all be bundled up into one file.

To create an PKCS12 bundle using openSSL, make sure they your key and all your certificates are in PEM format an use the following command:

* openssl pkcs12 -export -in client.crt -inkey private.key -certfile root.crt -out bundle.p12
*

By default the private key is 3DES encrypted, you can press enter to create an empty passphrase. To use AES encryption instead, use the follwing:

* openssl pkcs12 -export -aes256 -in client.crt -inkey private.key -certfile root.crt -out bundle.p12
*

Definition at line 105 of file p6pkcs12.h.


The documentation for this interface was generated from the following file: