Structures
The following structures are available globally.
-
An unlocalized gregorian date, scoped to a day, month, and year
Important
Date components are 1-indexed. For example, aDayOfYearComponents.month
equal to1
refers to January.Declaration
Swift
public struct DayOfYearComponents : Codable
-
An ASN.1 object containing cryptographic data used to verify passport integrity and authenticity
The Document Security Object (SOD) is a CMS SignedData object as defined in RFC 3369. The encapContentInfo.eContent of the SOD is an LDSSecurityObject (a nested, encoded ASN.1) that contains the data structure version, the hash algorithm used, and the complete list of hashes for each of the data groups on the chip.
The certificates section contains the Document Signer Certificate, which is used to sign the nested SignedAttributes object. Following RFC 5652, the MessageDigest attribute within the SignedAttributes objects must match the locally computed hash of encapContentInfo to verify integrity. The signature of SignedAttributes must then be verified with the Document Signer Certificate, and the Document Signer Certificate must be verified against a verified Country Signing Certification Authority (CSCA) certificate list such as an ICAO PKD Master List & must not be present in a verified Certificate Revocation List.
The SDK will perform most of these checks by default, but CSCA verification is not done automatically. To perform this additional check, you must provide a
See morecscaMasterListURL
to thePassportChipReader
before starting the reader.Declaration
Swift
public struct DocumentSecurityObject : Codable
-
An error that occurs while reading the integrated chip on an ePassport
See moreDeclaration
Swift
public struct PassportChipReaderError : Error, Hashable
-
An eMRTD holder’s name, as represented in the Machine-Readable Zone
Important
Special encoding rules apply that may alter the individual’s name in order to conform to allowed OCR-B characters. This includes omission of diacritics, punction, titles, etc. Some names may also exceed the 39 character limit, in which case they are truncated. For more specific details and caveats, see ICAO 9303 Part 3 Section 4.6.Declaration
Swift
public struct MRZHolderName : Codable
-
Contains files read from an integrated chip on an ePassport
Note
Data Groups 3 and 4 (fingerprint & iris data) are omitted. These groups contain highly sensitive data, and many countries protect these groups with Extended Access Control (EAC) which requires explicit authorization from the issuing government authority.
Important
PassportChipData
contains sensitive PII and verified document data. Be wary of local laws and restrictions when storing or transmitting this information.Declaration
Swift
public struct PassportChipData : Codable
-
Provides a custom alert message for the NFC reader, given the active-reading state
See moreDeclaration
Swift
public struct CustomAlertMessageProvider : NFCReaderAlertMessageProvider