Sample code for 30+ languages & platforms
C

Serialize a PFX to BinData

See more PFX/P12 Examples

Demonstrates Pfx.ToBd, which serializes the current PFX contents as PKCS#12 data into a BinData object, using the supplied output password.

Background. This is the in-memory equivalent of ToFile, producing the PKCS#12 bytes for further processing or transport.

Chilkat C Downloads

C
#include <C_CkPfx.h>
#include <C_CkBinData.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkPfx pfx;
    const char *password;
    const char *outputPassword;
    HCkBinData bd;

    success = FALSE;

    pfx = CkPfx_Create();

    //  The file path is relative to the application's current working directory.  An absolute path
    //  may also be used.  Supply the path appropriate to your own environment.
    //  The PFX password should come from a secure source rather than being hard-coded.
    password = "myPfxPassword";
    success = CkPfx_LoadPfxFile(pfx,"qa_data/identity.pfx",password);
    if (success == FALSE) {
        printf("%s\n",CkPfx_lastErrorText(pfx));
        CkPfx_Dispose(pfx);
        return;
    }

    //  Serialize the PFX contents as PKCS#12 data into a BinData, using the given output password.
    outputPassword = "myOutputPassword";
    bd = CkBinData_Create();
    success = CkPfx_ToBd(pfx,outputPassword,bd);
    if (success == FALSE) {
        printf("%s\n",CkPfx_lastErrorText(pfx));
        CkPfx_Dispose(pfx);
        CkBinData_Dispose(bd);
        return;
    }

    printf("Serialized %d bytes of PKCS#12 data.\n",CkBinData_getNumBytes(bd));


    CkPfx_Dispose(pfx);
    CkBinData_Dispose(bd);

    }