Delphi DLL
Delphi DLL
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 Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Cert;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
cert: HCkCert;
pinValid: Integer;
begin
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) then
begin
Memo1.Lines.Add(CkCert__lastErrorText(cert));
Exit;
end;
// Check to see if the SmartCardPin property contains the valid PIN for the smartcard.
pinValid := CkCert_CheckSmartCardPin(cert);
if (pinValid < 0) then
begin
Memo1.Lines.Add('Unable to check the PIN validity.');
Memo1.Lines.Add(CkCert__lastErrorText(cert));
Exit;
end;
if (pinValid = 1) then
begin
Memo1.Lines.Add('PIN is valid.');
end
else
begin
Memo1.Lines.Add('PIN is invalid.');
end;
CkCert_Dispose(cert);
end;