-
Notifications
You must be signed in to change notification settings - Fork 18
johnidm/PCSCSmartCardComponent
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
The PCSC Connector Component for Delphi
The component has the following properties, methods and events:
Methods:
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
Obvious what these do
function Init: boolean;
Init tries to establish a connection with the SmartCard API and to read the
list of installed readers. If the connection is successfull, and a minimum
of one reader is found, TRUE is returned
function Open: boolean;
Open starts watching the selected reader for status changes
procedure Close;
Close cancels all open requests and finishes watching the reader
function Connect: boolean;
Connect tries to connect to the card in the selected reader.
If successful, TRUE is returned
procedure Disconnect;
Disconnect disconnects from the card in the selected reader
function GetResponseFromCard(const apdu: string): string;
function GetResponseFromCard(const command : string;
var data : string;
var sw1, sw2: byte): boolean;
Let you send APDUs to the card. Either provide a complete APDU and get the
resulting APDU as a string, or provide the command (CLA,INS,P1,P2,P3) and DATA and get
SW1, SW2 and DATA as response and TRUE as result if the request was successful
Properties:
property ReaderList: TStringList;
property UseReaderNum: integer;
ReaderList holds the list of available readers. It is filled by calling Init.
UseReaderNum points to the Reader to use in ReaderList or is set to -1
if no reader is selected
property NumReaders: integer;
Holds the number of available readers
property Connected: boolean;
TRUE if connected to the reader (the reader MAY BE empty)
property Opened: boolean;
TRUE if a reader is being watched
property ReaderState: cardinal;
holds the last status of the reader, see WinSCard.pas
property AttrProtocol: integer;
the protocol used to communicate with the current card
property AttrICCType: string;
the ICC type of the current card
property AttrCardATR: string;
the ATR of the current card
property AttrVendorName: string;
the vendor name of the reader
property AttrVendorSerial: string;
the serial number of the reader
Events:
property OnCardInserted : TPCSCCardEvent
fires when a card is inserted in the reader
property OnCardActive : TPCSCCardEvent
fires when a inserted card is recognised and may be accessed.
The Attr-propertys are filled beforehand
property OnCardRemoved : TPCSCCardEvent
fires when a inserted card is removed from the reader
property OnCardInvalid : TPCSCCardEvent
fires when a inserted card is not readable
property OnReaderWaiting : TPCSCReaderEvent
fires when the reader is ready and waiting for a card
property OnReaderListChange : TPCSCReaderEvent
fires when the reader list has been updated
property OnError : TPCSCErrorEvent
TPCSCErrorEvent = procedure(Sender: TObject;
ErrSource: TErrSource;
ErrCode: cardinal)
TErrSource = (esInit, esGetStatus, esConnect, esTransmit);
fires when a error message is received while connecting to the card,
reading the status word or transmitting data to the card
Hints:
--------------------------------------------------------
First, call INIT
Then, set the reader you want to use
Then, call OPEN
or
call OPEN in the On ReaderWaiting Event
Then, if a card is inserted, you may call GetResponse...
--------------------------------------------------------
A error 0x80100002 (The action was cancelled by an SCardCancel request)
is normal behaviour when calling CLOSE
--------------------------------------------------------
About
Componente Delphi para SmartCard
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published