Passport / eMRTD
Passport reading starts from an MRZ-derived BAC key, enters Secure Messaging, and reads LDS data groups from the eMRTD applet.
Read data groups
let mrzKey = MRZKeyGenerator.computeMRZKey(
documentNumber: "L898902C3",
dateOfBirth: "740812",
dateOfExpiry: "120415"
)
let passport = try await CoreExtendedNFC.readPassport(
mrzKey: mrzKey,
dataGroups: [.com, .dg1, .dg2, .dg14, .dg15, .sod],
performActiveAuth: true
)
Current scope
BAC, Secure Messaging, data-group parsing, Passive Authentication, and Active Authentication are implemented. PACE and Chip Authentication objects are parsed where available, but ECDH key agreement is not yet implemented.