C
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
#include <C_CkCertStore.h>
#include <C_CkCert.h>
void ChilkatSample(void)
{
BOOL success;
HCkCertStore certStore;
const char *argNotUsed;
HCkCert cert;
int numCerts;
int i;
success = FALSE;
certStore = CkCertStore_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 = "";
success = CkCertStore_OpenSmartcard(certStore,argNotUsed);
if (success == FALSE) {
printf("%s\n",CkCertStore_lastErrorText(certStore));
CkCertStore_Dispose(certStore);
return;
}
cert = CkCert_Create();
numCerts = CkCertStore_getNumCertificates(certStore);
i = 0;
while (i < numCerts) {
// Load the cert object with the Nth certificate found in the connected HSMs
CkCertStore_GetCert(certStore,i,cert);
printf("%d: %s\n",i,CkCert_subjectCN(cert));
i = i + 1;
}
CkCertStore_Dispose(certStore);
CkCert_Dispose(cert);
}