Sample code for 30+ languages & platforms
Unicode C

Serialize a PFX to an Encoded String

See more PFX/P12 Examples

Demonstrates Pfx.ToEncodedString, which serializes the current PFX contents and returns the PKCS#12 bytes encoded as text using a named encoding.

Background. Common encodings are base64 and hex. This is convenient when the PKCS#12 data must be stored or transmitted as printable text.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkPfxW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkPfxW pfx;
    const wchar_t *password;
    const wchar_t *outputPassword;
    const wchar_t *encoded;

    success = FALSE;

    pfx = CkPfxW_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 = L"myPfxPassword";
    success = CkPfxW_LoadPfxFile(pfx,L"qa_data/identity.pfx",password);
    if (success == FALSE) {
        wprintf(L"%s\n",CkPfxW_lastErrorText(pfx));
        CkPfxW_Dispose(pfx);
        return;
    }

    //  Serialize the PFX contents using the given output password and return the PKCS#12 bytes encoded as
    //  text.  Common encodings include base64 and hex.
    outputPassword = L"myOutputPassword";
    encoded = CkPfxW_toEncodedString(pfx,outputPassword,L"base64");
    if (CkPfxW_getLastMethodSuccess(pfx) == FALSE) {
        wprintf(L"%s\n",CkPfxW_lastErrorText(pfx));
        CkPfxW_Dispose(pfx);
        return;
    }

    wprintf(L"%s\n",encoded);


    CkPfxW_Dispose(pfx);

    }