Sample code for 30+ languages & platforms
Perl

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 Perl Downloads

Perl
use chilkat();

$success = 0;

# Note: Requires Chilkat v9.5.0.77 or greater.

$cert = chilkat::CkCert->new();

$cert->put_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 != 1) {
    print $cert->lastErrorText() . "\r\n";
    exit;
}

# Check to see if the SmartCardPin property contains the valid PIN for the smartcard.
$pinValid = $cert->CheckSmartCardPin();
if ($pinValid < 0) {
    print "Unable to check the PIN validity." . "\r\n";
    print $cert->lastErrorText() . "\r\n";
    exit;
}

if ($pinValid == 1) {
    print "PIN is valid." . "\r\n";
}
else {
    print "PIN is invalid." . "\r\n";
}