Sample code for 30+ languages & platforms
Unicode C

Load a Private Key from PEM Text

See more Private Key Examples

Demonstrates the Chilkat PrivateKey.LoadPem method, which loads a private key from PEM text. The only argument is the PEM string. It has no password argument, so it cannot load an encrypted PEM — use LoadEncryptedPem for that.

Background: PEM is the Base64 text format (delimited by -----BEGIN----- lines) that most tooling uses for keys. This method is for the plain, unencrypted case where the key material sits in the clear inside the PEM — convenient, but it means the file itself is the only thing protecting the key. When the PEM is password-protected (a BEGIN ENCRYPTED PRIVATE KEY block or a legacy encrypted header), reach for the Encrypted loader instead.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkPrivateKeyW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkPrivateKeyW privKey;
    const wchar_t *pemText;

    success = FALSE;

    //  Demonstrates the PrivateKey.LoadPem method, which loads a private key from PEM text.  The only
    //  argument is the PEM string.  This method has no password argument, so it cannot load an
    //  encrypted PEM -- use LoadEncryptedPem for that.

    privKey = CkPrivateKeyW_Create();

    //  The PEM text of an unencrypted private key.
    pemText = L"-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkq...\n-----END PRIVATE KEY-----";

    success = CkPrivateKeyW_LoadPem(privKey,pemText);
    if (success == FALSE) {
        wprintf(L"%s\n",CkPrivateKeyW_lastErrorText(privKey));
        CkPrivateKeyW_Dispose(privKey);
        return;
    }

    wprintf(L"Loaded a %s private key.\n",CkPrivateKeyW_keyType(privKey));


    CkPrivateKeyW_Dispose(privKey);

    }