Sample code for 30+ languages & platforms
C++

Iterate over Certificates on Connected Smart Cards and USB Tokens

See more Cert Store Examples

Demonstrates how to iterate over the certificates on connected smart cards and USB tokens.

Note: Requires Chilkat v10.1.2 or later.

Chilkat C++ Downloads

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

void ChilkatSample(void)
    {
    bool success = false;

    CkCertStore certStore;

    // Detects connected smart cards and USB tokens
    // and loads the certificate store object with the certificates found.
    // Works on Windows, MacOS, iOS, and Linux.
    // Note: If something is not detected, contact info@chilkatsoft.com
    // for help or for workarounds.
    const char *argNotUsed = "";
    success = certStore.OpenSmartcard(argNotUsed);
    if (success == false) {
        std::cout << certStore.lastErrorText() << "\r\n";
        return;
    }

    CkCert cert;

    int numCerts = certStore.get_NumCertificates();
    int i = 0;

    while (i < numCerts) {
        // Load the cert object with the Nth certificate found in the connected HSMs
        certStore.GetCert(i,cert);
        std::cout << i << ": " << cert.subjectCN() << "\r\n";
        i = i + 1;
    }
    }