ABCTKSmartCard

class ABCTKSmartCard

(Rough) Helper class for exposing smart card reader functions from the Apple Crypto Token Kit

  • Return statuses

    See more

    Declaration

    Swift

    enum Status : Error
  • Represents a pool of SmartCard reader slots.

    Declaration

    Swift

    private let slotManager: TKSmartCardSlotManager?
  • List of reader (slots)

    Declaration

    Swift

    private var readerList: [String]
  • Current selected smart card slot

    Declaration

    Swift

    private var smartCardSlot: TKSmartCardSlot?
  • Current connected smart card

    Declaration

    Swift

    private var card: TKSmartCard?
  • Last status

    Declaration

    Swift

    private var lastStatus: Status
  • Flag to indicate if a card is connected or not

    Declaration

    Swift

    private var connected: Bool
  • Property returning list of reader slots

    Declaration

    Swift

    var readers: [String] { get }
  • Returns the card ATR if a card is connected

    Declaration

    Swift

    var cardATR: Data? { get }
  • Returns the last status code

    Declaration

    Swift

    var lastStatusCode: Status { get }
  • Class initialiser

    Declaration

    Swift

    init()
  • Lists the AB Circle reader (slots) present on the system

    Declaration

    Swift

    func listReaders() -> [String]

    Return Value

    Optional list of reader names (string)

  • Connects to a card if present

    Declaration

    Swift

    func connect(readerName: String, cardATR: inout Data?) async -> Status

    Parameters

    readerName

    Name of current reader (slot)

    cardATR

    Returned card ATR on success

    Return Value

    statusSucces on success, else an error status

  • Disconnects a card if a card is present and connected

    Declaration

    Swift

    func disconnect() -> Status

    Return Value

    statusSuccess on success, else an error status

  • transmit(apdu:) Asynchronous

    Transmits an APDU to a connected card

    Declaration

    Swift

    func transmit(apdu: Data) async throws -> Data

    Parameters

    apdu

    APDU data to send

    Return Value

    Data returned. Throws an error status on failure

  • Function to retrieve the smart slot associated by the entered readerName

    Declaration

    Swift

    private func getSmartCardSlot(readerName: String) -> Bool

    Parameters

    readerName

    Reader name

    Return Value

    True on success, else false (also sets lastStatus).

  • Function to retrieve the card instance of a card in the current smart card reader slot

    Declaration

    Swift

    private func getSmartCard() -> Bool

    Return Value

    True on success, else false (also sets lastStatus).