Delphi ActiveX
Delphi ActiveX
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 ActiveX Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
cert: TChilkatCert;
pinValid: Integer;
begin
success := 0;
// Note: Requires Chilkat v9.5.0.77 or greater.
cert := TChilkatCert.Create(Self);
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 <> 1) then
begin
Memo1.Lines.Add(cert.LastErrorText);
Exit;
end;
// Check to see if the SmartCardPin property contains the valid PIN for the smartcard.
pinValid := cert.CheckSmartCardPin();
if (pinValid < 0) then
begin
Memo1.Lines.Add('Unable to check the PIN validity.');
Memo1.Lines.Add(cert.LastErrorText);
Exit;
end;
if (pinValid = 1) then
begin
Memo1.Lines.Add('PIN is valid.');
end
else
begin
Memo1.Lines.Add('PIN is invalid.');
end;
end;