Sample code for 30+ languages & platforms
Ruby

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

Ruby
require 'chilkat'

success = false

# 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 != true)
    print cert.lastErrorText() + "\n";
    exit
end

# 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." + "\n";
    print cert.lastErrorText() + "\n";
    exit
end

if (pinValid == 1)
    print "PIN is valid." + "\n";
else
    print "PIN is invalid." + "\n";
end