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 readingDeclaration
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)