Sample code for 30+ languages & platforms
C

Load PFX with Different Password for Private Keys

See more PFX/P12 Examples

Demonstrates how to load a PFX where the HMAC integrity password (the password for the entire PFX) is different than the password for the private keys contained inside.

Note: This example requires a new feature made available in Chilkat v9.5.0.75.

Chilkat C Downloads

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

void ChilkatSample(void)
    {
    BOOL success;
    HCkPfx pfx;
    HCkJsonObject json;

    success = FALSE;

    pfx = CkPfx_Create();
    json = CkJsonObject_Create();

    // Build JSON containing the HMAC integrity (PFX) password, and the 
    // password for the private keys.
    CkJsonObject_UpdateString(json,"integrity","password1");
    CkJsonObject_UpdateString(json,"privKeys","password2");

    // The JSON contains this:
    // 
    // 	{
    // 	  "integrity": "password1",
    // 	  "privKeys": "password2"
    // 	}
    // 

    // Use the above JSON instead of a simple password string when loading the PFX:
    success = CkPfx_LoadPfxFile(pfx,"qa_data/pfx/PrivateKeyPassIsDifferent.pfx",CkJsonObject_emit(json));
    if (success != TRUE) {
        printf("%s\n",CkPfx_lastErrorText(pfx));
        CkPfx_Dispose(pfx);
        CkJsonObject_Dispose(json);
        return;
    }

    printf("Success.\n");


    CkPfx_Dispose(pfx);
    CkJsonObject_Dispose(json);

    }