|
Crescendo SDK
|
Loading...
Searching...
No Matches
CrescendoDLL.PCSC.APDUEngine Class Reference
The CrescendoDLL.PCSC.APDUEngine class contains references to applet objects, their current properties and all the necessary internal methods to allow PCSC communication with the SmartCard. More...
Inheritance diagram for CrescendoDLL.PCSC.APDUEngine:
Public Member Functions |
|
| void | Dispose () |
| Releases all resources used by this instance. |
|
| void | EndTransaction () |
| Ends the current smart card transaction, releasing exclusive access while maintaining the token's state. |
|
| async Task | MaintainTransactionAsync (CancellationToken ct) |
Maintains an active smart card transaction by periodically checking the SCardStatus (in 2.5 second intervals). |
|
| void | StartTransaction () |
| Begins a smart card transaction, establishing exclusive access to the token. |
|
Public Attributes |
|
| CommandApdu | LastCommand = default! |
| Last APDU command send to the token. |
|
| string | LastError = default! |
| String description of the last APDU error received from the token. |
|
| Response | LastResponse = default! |
| Last APDU response received from the token. |
|
| byte[] | TokenATR |
| ATR (Answer To Reset) message output of the token. |
|
| string | TokenName |
| String name of the token. |
|
Detailed Description
The CrescendoDLL.PCSC.APDUEngine class contains references to applet objects, their current properties and all the necessary internal methods to allow PCSC communication with the SmartCard.
Two construction modes determine which applets are wired:
- The Crescendo constructor (CrescendoDLL.PCSC.APDUEngine(string, CrescendoDLL.PCSC.PCSCImpl, string, byte[], bool)) and Token-based Crescendo factory register real lazy factories for every Crescendo applet — ACA, OATH, PIV, CardManager, FIDO Attestation, and FIDO Instance.
- The generic-FIDO constructor (CrescendoDLL.PCSC.APDUEngine(CrescendoDLL.Token, CrescendoDLL.PCSC.PCSCImpl)) is used for non-Crescendo authenticators. Only FIDO Instance is wired to a real applet; every other applet getter throws NotSupportedException