PACEHandler
internal final class PACEHandler
PACEHndler is responsible for performing PACE access control protocol to allow the access to the IC.
PACE is a password authenticated Diffie-Hellman key agreement protocol that provides secure communication and password-based authentication of the eMRTD chip and the inspection system, i.e. eMRTD chip and inspection system share the same password.
Note
PACE establishes NFCSecureSession between an eMRTD chip and an inspection system
based on weak (short) passwords.
-
A property that indicates if PACE is supported.
Declaration
Swift
private(set) var isPACESupported: Bool { get } -
Initializes the PACEHandler with a
TagReaderandCardAccess.Throws
An error if PACE is not supported.
Declaration
Swift
internal init(tagReader: TagReader, cardAccess: CardAccess) throwsParameters
tagReaderThe
TagReaderused to communicate with the card.cardAccessThe
CardAccessinformation, includingPACEInfoif supported. -
performPACE(mrzKey:Asynchronous) Perform the PACE protocol using the MRZ key.
Throws
An error if PACE is not supported or if any step of the PACE protocol fails.
Declaration
Swift
internal func performPACE(mrzKey: String) async throwsParameters
mrzKeyThe MRZ (Machine Readable Zone) key for deriving the PACE key.
View on GitHub
PACEHandler Class Reference