Sample code for 30+ languages & platforms
Unicode C

Load PFX/P12 from a Base64 Encoded PFX File

See more PFX/P12 Examples

Demonstrates how to call LoadPfxEncoded.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkBinDataW.h>
#include <C_CkPfxW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkBinDataW bd;
    const wchar_t *strBase64;
    HCkPfxW pfx;
    const wchar_t *password;

    success = FALSE;

    bd = CkBinDataW_Create();

    success = CkBinDataW_LoadFile(bd,L"qa_data/pfx/cert_test123.pfx");
    if (success != TRUE) {
        wprintf(L"Failed to load PFX file.\n");
        CkBinDataW_Dispose(bd);
        return;
    }

    // Get the bytes contained in the PFX in base64 format:
    strBase64 = CkBinDataW_getEncoded(bd,L"base64");

    // The base64 looks like this:  "MIIbEAIBAzCCGswGCSqGSIb3DQEHAaCCGr0Eghq5MIIatTCCBg..."
    wprintf(L"%s\n",strBase64);

    pfx = CkPfxW_Create();

    // Load the PFX from the base64 string
    password = L"test123";
    success = CkPfxW_LoadPfxEncoded(pfx,strBase64,L"base64",password);
    if (success != TRUE) {
        wprintf(L"%s\n",CkPfxW_lastErrorText(pfx));
        CkBinDataW_Dispose(bd);
        CkPfxW_Dispose(pfx);
        return;
    }

    wprintf(L"success\n");


    CkBinDataW_Dispose(bd);
    CkPfxW_Dispose(pfx);

    }