Skip to content

Commit de25144

Browse files
committed
Provide aaChallenge
1 parent 89813ba commit de25144

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

Sources/NFCPassportReader/PassportReader.swift

+4-2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public class PassportReader : NSObject {
3434
private var caHandler : ChipAuthenticationHandler?
3535
private var paceHandler : PACEHandler?
3636
private var mrzKey : String = ""
37+
private var aaChallenge: [UInt8]?
3738
private var dataAmountToReadOverride : Int? = nil
3839

3940
private var scanCompletedHandler: ((NFCPassportModel?, NFCPassportReaderError?)->())!
@@ -63,10 +64,11 @@ public class PassportReader : NSObject {
6364
dataAmountToReadOverride = amount
6465
}
6566

66-
public func readPassport( mrzKey : String, tags : [DataGroupId] = [], skipSecureElements : Bool = true, skipCA : Bool = false, skipPACE : Bool = false, useExtendedMode : Bool = false, customDisplayMessage : ((NFCViewDisplayMessage) -> String?)? = nil) async throws -> NFCPassportModel {
67+
public func readPassport( mrzKey : String, tags : [DataGroupId] = [], aaChallenge: [UInt8]? = nil, skipSecureElements : Bool = true, skipCA : Bool = false, skipPACE : Bool = false, useExtendedMode : Bool = false, customDisplayMessage : ((NFCViewDisplayMessage) -> String?)? = nil) async throws -> NFCPassportModel {
6768

6869
self.passport = NFCPassportModel()
6970
self.mrzKey = mrzKey
71+
self.aaChallenge = aaChallenge
7072
self.skipCA = skipCA
7173
self.skipPACE = skipPACE
7274
self.useExtendedMode = useExtendedMode
@@ -267,7 +269,7 @@ extension PassportReader {
267269

268270
Logger.passportReader.info( "Performing Active Authentication" )
269271

270-
let challenge = generateRandomUInt8Array(8)
272+
let challenge = aaChallenge ?? generateRandomUInt8Array(8)
271273
Logger.passportReader.debug( "Generated Active Authentication challange - \(binToHexRep(challenge))")
272274
let response = try await tagReader.doInternalAuthentication(challenge: challenge, useExtendedMode: useExtendedMode)
273275
self.passport.verifyActiveAuthentication( challenge:challenge, signature:response.data )

0 commit comments

Comments
 (0)