Sample code for 30+ languages & platforms
C++

Get Certificate Subject Part by Name or OID

Demonstrates the GetSubjectPart method where a name or OID can be passed.

Chilkat C++ Downloads

C++
#include <CkCert.h>

void ChilkatSample(void)
    {
    bool success = false;

    CkCert cert;

    success = cert.LoadByCommonName("myCert");
    if (success == false) {
        std::cout << cert.lastErrorText() << "\r\n";
        return;
    }

    //  This example demonstrates getting the SERIALNUMBER part of the subject,
    //  if one such part exists in the cert's subject.
    //  Not too many certicates include the serial number in the Subject.
    //  (Chilean issued certificates for SII is one such case where the SERIALNUMBER part exists within the Subject.)
    const char *serialNum = cert.getSubjectPart("SERIALNUMBER");
    if (cert.get_LastMethodSuccess() == false) {
        std::cout << "No SERIALNUMBER part exists." << "\r\n";
        return;
    }

    std::cout << serialNum << "\r\n";

    //  We could also get the part by the OID.
    //  See https://oidref.com/2.5.4.5 for a list of OID's in the 2.5.4.* range..
    //  The OID for SERIALNUMBER is "2.5.4.5"
    serialNum = cert.getSubjectPart("2.5.4.5");
    if (cert.get_LastMethodSuccess() == false) {
        std::cout << "No SERIALNUMBER part exists." << "\r\n";
        return;
    }

    std::cout << serialNum << "\r\n";
    }