Sample code for 30+ languages & platforms
.NET Core 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 .NET Core C# Downloads

.NET Core C#
bool success = false;

// Note: Requires Chilkat v9.5.0.77 or greater.

Chilkat.Cert cert = new Chilkat.Cert();

cert.SmartCardPin = "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 = cert.LoadFromSmartcard("");
if (success != true) {
    Debug.WriteLine(cert.LastErrorText);
    return;
}

// Check to see if the SmartCardPin property contains the valid PIN for the smartcard.
int pinValid = cert.CheckSmartCardPin();
if (pinValid < 0) {
    Debug.WriteLine("Unable to check the PIN validity.");
    Debug.WriteLine(cert.LastErrorText);
    return;
}

if (pinValid == 1) {
    Debug.WriteLine("PIN is valid.");
}
else {
    Debug.WriteLine("PIN is invalid.");
}