Sample code for 30+ languages & platforms
C

Load a Public Key from Base64 DER

Demonstrates the Chilkat PublicKey.LoadBase64 method, which loads a public key from standard Base64-encoded DER. The only argument is the Base64 string; whitespace within it is permitted.

Background: A public key in DER (binary) form is often carried as Base64 text so it can travel through channels that expect a string — a config value, a JSON field, a certificate export. This loader decodes that text and inspects the DER to determine the key type and structure automatically. It is the plain-Base64 counterpart to loading a full PEM block, which additionally has the BEGIN/END armor.

Chilkat C Downloads

C
#include <C_CkPublicKey.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkPublicKey pubKey;
    const char *keyStr;

    success = FALSE;

    //  Demonstrates the PublicKey.LoadBase64 method, which loads a public key from standard
    //  Base64-encoded DER.  The only argument is the Base64 string (whitespace is allowed).

    pubKey = CkPublicKey_Create();

    //  The Base64 of the DER-encoded public key.
    keyStr = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...IDAQAB";

    success = CkPublicKey_LoadBase64(pubKey,keyStr);
    if (success == FALSE) {
        printf("%s\n",CkPublicKey_lastErrorText(pubKey));
        CkPublicKey_Dispose(pubKey);
        return;
    }

    printf("Loaded a %s public key.\n",CkPublicKey_keyType(pubKey));


    CkPublicKey_Dispose(pubKey);

    }