Sample code for 30+ languages & platforms
Unicode C

Load PEM and List Certificates

Demonstrates how to load a PEM containing certificates and accesses each individual certificate.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkPemW.h>
#include <C_CkCertW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkPemW pem;
    int i;
    int numCerts;
    HCkCertW cert;

    success = FALSE;

    //  This example assumes the Chilkat API to have been previously unlocked.
    //  See Global Unlock Sample for sample code.

    success = FALSE;

    pem = CkPemW_Create();

    //  Load the .p7b from a file.
    success = CkPemW_LoadPemFile(pem,L"/Users/chilkat/testData/p7b/cacert_mozilla.pem");
    if (success != TRUE) {
        wprintf(L"%s\n",CkPemW_lastErrorText(pem));
        CkPemW_Dispose(pem);
        return;
    }

    numCerts = CkPemW_getNumCerts(pem);
    if (numCerts == 0) {
        wprintf(L"%s\n",(L"Error: Expected the PEM to contain certificates."));
        CkPemW_Dispose(pem);
        return;
    }

    //  Access each certificate and show the Subject CN (Common Name)
    for (i = 1; i <= numCerts; i++) {
        cert = CkPemW_GetCert(pem,i - 1);
        wprintf(L"%d: %s\n",i,CkCertW_subjectCN(cert));
        CkCertW_Dispose(cert);
    }



    CkPemW_Dispose(pem);

    }