Unicode C
Unicode 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 Unicode C Downloads
#include <C_CkCertStoreW.h>
#include <C_CkCertW.h>
void ChilkatSample(void)
{
BOOL success;
HCkCertStoreW certStore;
const wchar_t *argNotUsed;
HCkCertW cert;
int numCerts;
int i;
success = FALSE;
certStore = CkCertStoreW_Create();
// 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.
argNotUsed = L"";
success = CkCertStoreW_OpenSmartcard(certStore,argNotUsed);
if (success == FALSE) {
wprintf(L"%s\n",CkCertStoreW_lastErrorText(certStore));
CkCertStoreW_Dispose(certStore);
return;
}
cert = CkCertW_Create();
numCerts = CkCertStoreW_getNumCertificates(certStore);
i = 0;
while (i < numCerts) {
// Load the cert object with the Nth certificate found in the connected HSMs
CkCertStoreW_GetCert(certStore,i,cert);
wprintf(L"%d: %s\n",i,CkCertW_subjectCN(cert));
i = i + 1;
}
CkCertStoreW_Dispose(certStore);
CkCertW_Dispose(cert);
}