Sample code for 30+ languages & platforms
Unicode C++

Find Certificate by Email Address

Locate the certificate containing the specified email address in either the RFC822 Name or the Subject.

Note: This example requires Chilkat v10.1.2 or later.

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkCertStoreW.h>
#include <CkJsonObjectW.h>
#include <CkCertW.h>

void ChilkatSample(void)
    {
    bool success = false;

    CkCertStoreW certStore;

    //  This opens the Current User certificate store on Windows,
    //  On MacOS and iOS it opens the default Keychain.
    bool readOnly = true;
    success = certStore.OpenCurrentUserStore(readOnly);
    if (success == false) {
        wprintf(L"%s\n",certStore.lastErrorText());
        return;
    }

    //  Locate the certificate containing the specified email address in either the RFC822 Name or the Subject.
    CkJsonObjectW json;
    const wchar_t *email_address = L"harold@example.com";
    json.UpdateString(L"email",email_address);

    CkCertW cert;
    success = certStore.FindCert(json,cert);
    if (success == true) {
        //  Show the full distinguished name of the certificate.
        wprintf(L"Found: %s\n",cert.subjectDN());
    }
    else {
        wprintf(L"Not found.\n");
    }
    }