C
C
Validate a Smartcard PIN
See more Certificates Examples
Validates a smartcard PIN. This example only runs on Windows and requires Chilkat v9.5.0.77 or greater.Chilkat C Downloads
#include <C_CkCert.h>
void ChilkatSample(void)
{
BOOL success;
HCkCert cert;
int pinValid;
success = FALSE;
// Note: Requires Chilkat v9.5.0.77 or greater.
cert = CkCert_Create();
CkCert_putSmartCardPin(cert,"000000");
// Load the certificate on the smartcard currently in the reader (or on the USB token).
// Pass an empty string to allow Chilkat to automatically choose the CSP (Cryptographi Service Provider).
// See Load Certificate on Smartcard for information about explicitly selecting a particular CSP.
success = CkCert_LoadFromSmartcard(cert,"");
if (success != TRUE) {
printf("%s\n",CkCert_lastErrorText(cert));
CkCert_Dispose(cert);
return;
}
// Check to see if the SmartCardPin property contains the valid PIN for the smartcard.
pinValid = CkCert_CheckSmartCardPin(cert);
if (pinValid < 0) {
printf("Unable to check the PIN validity.\n");
printf("%s\n",CkCert_lastErrorText(cert));
CkCert_Dispose(cert);
return;
}
if (pinValid == 1) {
printf("PIN is valid.\n");
}
else {
printf("PIN is invalid.\n");
}
CkCert_Dispose(cert);
}