PassportChipReader

public final class PassportChipReader : PassportChipReaderType

Reads the integrated chip on an NFC-capable passport (ePassport)

Secure messaging with the integrated chip is done following ISO/IEC 7816, and data & security protocols follow the international specification on electronic machine-readable travel documents (eMRTDs), ICAO Doc 9303.

  • If true, then the current device supports NFC reading

    Declaration

    Swift

    public static var isSupportedOnCurrentDevice: Bool { get }
  • Declaration

    Swift

    public private(set) lazy var publisher: AnyPublisher<PassportChipReaderState, Never> { get set }
  • Declaration

    Swift

    @Published
    public private(set) var state: PassportChipReaderState { get set }
  • (Optional) A file URL that points to a PEM-encoded list of CSCA certificates used to verify authenticity

    Note

    ICAO-issued Master Lists & other CSCA lists are often distributed as .ldif (LDAP) or .ml (ASN.1), both DER-encoded. Due to the size of these lists & the required conversion time, automatic conversion is not supported in the SDK. You must extract these certificates into a PEM-encoded list before adding it to your application.

    Warning

    If using the ICAO PKD or other public certificate lists, be aware of the restrictions around commercial use and distribution. The PKD Master List is not included as part of the SDK due to these restrictions.

    Declaration

    Swift

    public var cscaMasterListURL: URL? { get set }
  • (Optional) Provides an alert message for the NFC reader, given the active-reading state

    If this is nil, then default messaging is provided.

    Declaration

    Swift

    public var customAlertMessageProvider: NFCReaderAlertMessageProvider?
  • Undocumented

    Declaration

    Swift

    public init()
  • Declaration

    Swift

    public func read(mrzInformationKey: String, handler: @escaping (PassportChipReaderResult) -> Void)