Sample code for 30+ languages & platforms
C++

Load PEM and List Certificates

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

Chilkat C++ Downloads

C++
#include <CkPem.h>
#include <CkCert.h>

void ChilkatSample(void)
    {
    bool success = false;

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

    success = false;

    CkPem pem;

    //  Load the .p7b from a file.
    success = pem.LoadPemFile("/Users/chilkat/testData/p7b/cacert_mozilla.pem");
    if (success != true) {
        std::cout << pem.lastErrorText() << "\r\n";
        return;
    }

    int i;
    int numCerts = pem.get_NumCerts();
    if (numCerts == 0) {
        std::cout << (("Error: Expected the PEM to contain certificates.")) << "\r\n";
        return;
    }

    //  Access each certificate and show the Subject CN (Common Name)
    for (i = 1; i <= numCerts; i++) {
        CkCert *cert = pem.GetCert(i - 1);
        std::cout << i << ": " << cert->subjectCN() << "\r\n";
        delete cert;
    }
    }