Unicode C
Unicode 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 Unicode C Downloads
#include <C_CkCertW.h>
void ChilkatSample(void)
{
BOOL success;
HCkCertW cert;
int pinValid;
success = FALSE;
// Note: Requires Chilkat v9.5.0.77 or greater.
cert = CkCertW_Create();
CkCertW_putSmartCardPin(cert,L"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 = CkCertW_LoadFromSmartcard(cert,L"");
if (success != TRUE) {
wprintf(L"%s\n",CkCertW_lastErrorText(cert));
CkCertW_Dispose(cert);
return;
}
// Check to see if the SmartCardPin property contains the valid PIN for the smartcard.
pinValid = CkCertW_CheckSmartCardPin(cert);
if (pinValid < 0) {
wprintf(L"Unable to check the PIN validity.\n");
wprintf(L"%s\n",CkCertW_lastErrorText(cert));
CkCertW_Dispose(cert);
return;
}
if (pinValid == 1) {
wprintf(L"PIN is valid.\n");
}
else {
wprintf(L"PIN is invalid.\n");
}
CkCertW_Dispose(cert);
}