@regulaforensics/cordova-plugin-document-reader-api 9.4.480-rc → 9.4.482-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,8 +13,8 @@
13
13
  "author": "Regula Forensics Inc.",
14
14
  "license": "commercial",
15
15
  "dependencies": {
16
- "@regulaforensics/cordova-plugin-document-reader-api": "9.4.480-rc",
17
- "@regulaforensics/cordova-plugin-document-reader-core-fullauthrfid": "9.4.2226-rc",
16
+ "@regulaforensics/cordova-plugin-document-reader-api": "9.4.482-beta",
17
+ "@regulaforensics/cordova-plugin-document-reader-core-fullauthrfid": "9.3.2165",
18
18
  "cordova-android": "13.0.0",
19
19
  "cordova-ios": "7.1.1",
20
20
  "cordova-plugin-add-swift-support": "2.0.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@regulaforensics/cordova-plugin-document-reader-api",
3
- "version": "9.4.480-rc",
3
+ "version": "9.4.482-beta",
4
4
  "description": "Cordova plugin for reading and validation of identification documents (API framework)",
5
5
  "cordova": {
6
6
  "id": "@regulaforensics/cordova-plugin-document-reader-api",
package/plugin.xml CHANGED
@@ -1,5 +1,5 @@
1
1
  <?xml version='1.0' encoding='utf-8'?>
2
- <plugin id="@regulaforensics/cordova-plugin-document-reader-api" version="9.4.480-rc" xmlns="http://apache.org/cordova/ns/plugins/1.0">
2
+ <plugin id="@regulaforensics/cordova-plugin-document-reader-api" version="9.4.482-beta" xmlns="http://apache.org/cordova/ns/plugins/1.0">
3
3
  <name>DocumentReaderApi</name>
4
4
  <description>Cordova plugin Document reader api</description>
5
5
  <license>commercial</license>
@@ -29,7 +29,7 @@
29
29
  <source url="https://github.com/CocoaPods/Specs.git"/>
30
30
  </config>
31
31
  <pods>
32
- <pod name="DocumentReaderStage" spec="9.4.6161" />
32
+ <pod name="DocumentReader" spec="9.3.6137" />
33
33
  </pods>
34
34
  </podspec>
35
35
  </platform>
@@ -47,7 +47,9 @@ import com.regula.documentreader.api.params.mdl.DeviceRetrievalMethod
47
47
  import com.regula.documentreader.api.params.mdl.DocumentRequest18013MDL
48
48
  import com.regula.documentreader.api.params.mdl.DocumentRequestMDL
49
49
  import com.regula.documentreader.api.params.mdl.NameSpaceMDL
50
+ import com.regula.documentreader.api.params.rfid.CaProtocol
50
51
  import com.regula.documentreader.api.params.rfid.PKDCertificate
52
+ import com.regula.documentreader.api.params.rfid.PaceProtocol
51
53
  import com.regula.documentreader.api.params.rfid.RFIDParams
52
54
  import com.regula.documentreader.api.params.rfid.TccParams
53
55
  import com.regula.documentreader.api.params.rfid.authorization.PAAttribute
@@ -2138,3 +2140,37 @@ fun generateFinalizeConfig(input: FinalizeConfig?) = input?.let {
2138
2140
  "mdlSession" to it.getPrivateProperty("mdlSession"),
2139
2141
  ).toJson()
2140
2142
  }
2143
+
2144
+ fun paceProtocolFromJSON(input: JSONObject?) = input?.let {
2145
+ PaceProtocol(
2146
+ it.getString("version"),
2147
+ it.getString("stdDomainParams"),
2148
+ it.getString("keyAlgorithm"),
2149
+ )
2150
+ }
2151
+
2152
+ fun generatePaceProtocol(input: PaceProtocol?) = input?.let {
2153
+ mapOf(
2154
+ "version" to it.version,
2155
+ "stdDomainParams" to it.stdDomainParams,
2156
+ "keyAlgorithm" to it.keyAlgorithm,
2157
+ ).toJson()
2158
+ }
2159
+
2160
+ fun caProtocolFromJSON(input: JSONObject?) = input?.let {
2161
+ CaProtocol(
2162
+ it.getString("version"),
2163
+ it.getString("scheme"),
2164
+ it.getString("keyAlgorithm"),
2165
+ it.getBoolean("chipIndividual"),
2166
+ )
2167
+ }
2168
+
2169
+ fun generateCaProtocol(input: CaProtocol?) = input?.let {
2170
+ mapOf(
2171
+ "version" to it.version,
2172
+ "scheme" to it.scheme,
2173
+ "keyAlgorithm" to it.keyAlgorithm,
2174
+ "chipIndividual" to it.isChipIndividual,
2175
+ ).toJson()
2176
+ }
@@ -19,13 +19,13 @@ import com.regula.documentreader.api.completions.IDocumentReaderInitCompletion
19
19
  import com.regula.documentreader.api.completions.IDocumentReaderPrepareDbCompletion
20
20
  import com.regula.documentreader.api.completions.IVideoEncoderCompletion
21
21
  import com.regula.documentreader.api.completions.model.PrepareProgress
22
+ import com.regula.documentreader.api.completions.rfid.ICaProtocolCompletion
23
+ import com.regula.documentreader.api.completions.rfid.IPaceProtocolCompletion
22
24
  import com.regula.documentreader.api.completions.rfid.IRfidPKDCertificateCompletion
23
25
  import com.regula.documentreader.api.completions.rfid.IRfidReaderCompletion
24
26
  import com.regula.documentreader.api.completions.rfid.IRfidReaderRequest
25
27
  import com.regula.documentreader.api.completions.rfid.IRfidTASignatureCompletion
26
- import com.regula.documentreader.api.completions.rfid.certificates.IRfidPACertificates
27
- import com.regula.documentreader.api.completions.rfid.certificates.IRfidTACertificates
28
- import com.regula.documentreader.api.completions.rfid.certificates.IRfidTASignature
28
+ import com.regula.documentreader.api.completions.rfid.certificates.IRfidAccessControl
29
29
  import com.regula.documentreader.api.enums.DocReaderAction
30
30
  import com.regula.documentreader.api.enums.LCID
31
31
  import com.regula.documentreader.api.enums.eImageQualityCheckType
@@ -39,6 +39,8 @@ import com.regula.documentreader.api.errors.DocReaderRfidException
39
39
  import com.regula.documentreader.api.errors.DocumentReaderException
40
40
  import com.regula.documentreader.api.internal.core.CoreScenarioUtil
41
41
  import com.regula.documentreader.api.params.mdl.DataRetrieval
42
+ import com.regula.documentreader.api.params.rfid.CaProtocol
43
+ import com.regula.documentreader.api.params.rfid.PaceProtocol
42
44
  import com.regula.documentreader.api.results.DocumentReaderNotification
43
45
  import com.regula.documentreader.api.results.DocumentReaderResults
44
46
  import com.regula.documentreader.api.results.DocumentReaderResults.fromRawResults
@@ -84,12 +86,14 @@ fun methodCall(method: String, callback: (Any?) -> Unit): Any = when (method) {
84
86
  "recognize" -> recognize(args(0))
85
87
  "startNewPage" -> startNewPage()
86
88
  "stopScanner" -> stopScanner()
87
- "startRFIDReader" -> startRFIDReader(args(0), args(1), args(2))
88
- "readRFID" -> readRFID(args(0), args(1), args(2))
89
+ "startRFIDReader" -> startRFIDReader(argsNullable(0))
90
+ "readRFID" -> readRFID(argsNullable(0))
89
91
  "stopRFIDReader" -> stopRFIDReader()
90
92
  "providePACertificates" -> providePACertificates(argsNullable(0))
91
93
  "provideTACertificates" -> provideTACertificates(argsNullable(0))
92
94
  "provideTASignature" -> provideTASignature(args(0))
95
+ "selectPACEProtocol" -> selectPACEProtocol(args(0))
96
+ "selectCAProtocol" -> selectCAProtocol(args(0))
93
97
  "setTCCParams" -> setTCCParams(callback, args(0))
94
98
  "addPKDCertificates" -> addPKDCertificates(args(0))
95
99
  "clearPKDCertificates" -> clearPKDCertificates()
@@ -150,6 +154,8 @@ const val rfidOnRetryReadChipEvent = "rfidOnRetryReadChipEvent"
150
154
  const val paCertificateCompletionEvent = "pa_certificate_completion"
151
155
  const val taCertificateCompletionEvent = "ta_certificate_completion"
152
156
  const val taSignatureCompletionEvent = "ta_signature_completion"
157
+ const val paceProtocolCompletionEvent = "paceProtocolCompletionEvent"
158
+ const val caProtocolCompletionEvent = "caProtocolCompletionEvent"
153
159
 
154
160
  const val videoEncoderCompletionEvent = "video_encoder_completion"
155
161
  const val onCustomButtonTappedEvent = "onCustomButtonTappedEvent"
@@ -248,22 +254,13 @@ fun startNewPage() = Instance().startNewPage()
248
254
 
249
255
  fun stopScanner() = Instance().stopScanner(context)
250
256
 
251
- fun startRFIDReader(onRequestPACertificates: Boolean, onRequestTACertificates: Boolean, onRequestTASignature: Boolean) {
257
+ fun startRFIDReader(config: JSONObject?) {
252
258
  stopBackgroundRFID()
253
- requestType = RfidReaderRequestType(
254
- onRequestPACertificates,
255
- onRequestTACertificates,
256
- onRequestTASignature
257
- )
258
- Instance().startRFIDReader(activity, rfidReaderCompletion, requestType.getRfidReaderRequest())
259
+ Instance().startRFIDReader(activity, rfidReaderCompletion, getRfidReaderRequest(config))
259
260
  }
260
261
 
261
- fun readRFID(onRequestPACertificates: Boolean, onRequestTACertificates: Boolean, onRequestTASignature: Boolean) {
262
- requestType = RfidReaderRequestType(
263
- onRequestPACertificates,
264
- onRequestTACertificates,
265
- onRequestTASignature
266
- )
262
+ fun readRFID(config: JSONObject?) {
263
+ rfidReaderRequest = getRfidReaderRequest(config)
267
264
  startForegroundDispatch("readRFID")
268
265
  }
269
266
 
@@ -284,6 +281,14 @@ fun provideTASignature(signature: String?) = taSignatureCompletion.onSignatureRe
284
281
  signature.toByteArray()
285
282
  )
286
283
 
284
+ fun selectPACEProtocol(protocol: JSONObject) = paceProtocolCompletion.onPaceProtocolSelected(
285
+ paceProtocolFromJSON(protocol)!!
286
+ )
287
+
288
+ fun selectCAProtocol(protocol: JSONObject) = caProtocolCompletion.onCaProtocolSelected(
289
+ caProtocolFromJSON(protocol)!!
290
+ )
291
+
287
292
  fun setTCCParams(callback: Callback, params: JSONObject) {
288
293
  Instance().setTccParams(tccParamsFromJSON(params)) { success, error ->
289
294
  callback(generateSuccessCompletion(success, error))
@@ -545,49 +550,47 @@ fun initCompletion(callback: Callback) = IDocumentReaderInitCompletion { success
545
550
  lateinit var paCertificateCompletion: IRfidPKDCertificateCompletion
546
551
  lateinit var taCertificateCompletion: IRfidPKDCertificateCompletion
547
552
  lateinit var taSignatureCompletion: IRfidTASignatureCompletion
553
+ lateinit var paceProtocolCompletion: IPaceProtocolCompletion
554
+ lateinit var caProtocolCompletion: ICaProtocolCompletion
555
+
556
+ var rfidReaderRequest = getRfidReaderRequest()
557
+
558
+ fun getRfidReaderRequest(config: JSONObject? = null): IRfidReaderRequest {
559
+ val result = IRfidReaderRequest()
560
+ if (config == null) return result
548
561
 
549
- class RfidReaderRequestType(
550
- val doPACertificates: Boolean,
551
- val doTACertificates: Boolean,
552
- val doTASignature: Boolean
553
- ) {
554
- private val onRequestPACertificates = IRfidPACertificates { serialNumber, issuer, completion ->
562
+ if (config.getBoolean("paCertificates")) result.setPACertificates { serialNumber, issuer, completion ->
555
563
  paCertificateCompletion = completion
556
564
  sendEvent(paCertificateCompletionEvent, generatePACertificateCompletion(serialNumber, issuer))
557
565
  }
558
- private val onRequestTACertificates = IRfidTACertificates { keyCAR, completion ->
566
+ if (config.getBoolean("taCertificates")) result.setTACertificates { keyCAR, completion ->
559
567
  taCertificateCompletion = completion
560
568
  sendEvent(taCertificateCompletionEvent, keyCAR)
561
569
  }
562
- private val onRequestTASignature = IRfidTASignature { challenge, completion ->
570
+ if (config.getBoolean("taSignature")) result.setTASignature { challenge, completion ->
563
571
  taSignatureCompletion = completion
564
572
  sendEvent(taSignatureCompletionEvent, generateTAChallenge(challenge))
565
573
  }
574
+ if (config.getBoolean("paceProtocol") || config.getBoolean("caProtocol")) result.setRfidAccessControl(object : IRfidAccessControl {
575
+ override fun onRequestPaceProtocol(list: List<PaceProtocol?>, completion: IPaceProtocolCompletion) {
576
+ paceProtocolCompletion = completion
577
+ sendEvent(paceProtocolCompletionEvent, list.toJson(::generatePaceProtocol))
578
+ }
579
+ override fun onRequestCaProtocol(list: List<CaProtocol?>, completion: ICaProtocolCompletion) {
580
+ caProtocolCompletion = completion
581
+ sendEvent(caProtocolCompletionEvent, list.toJson(::generateCaProtocol))
582
+ }
583
+ })
566
584
 
567
- fun getRfidReaderRequest(): IRfidReaderRequest? = when {
568
- !doPACertificates && !doTACertificates && doTASignature -> IRfidReaderRequest(onRequestTASignature)
569
- !doPACertificates && doTACertificates && !doTASignature -> IRfidReaderRequest(onRequestTACertificates)
570
- !doPACertificates && doTACertificates && doTASignature -> IRfidReaderRequest(onRequestTACertificates, onRequestTASignature)
571
- doPACertificates && !doTACertificates && !doTASignature -> IRfidReaderRequest(onRequestPACertificates)
572
- doPACertificates && !doTACertificates && doTASignature -> IRfidReaderRequest(onRequestPACertificates, onRequestTASignature)
573
- doPACertificates && doTACertificates && !doTASignature -> IRfidReaderRequest(onRequestPACertificates, onRequestTACertificates)
574
- doPACertificates && doTACertificates && doTASignature -> IRfidReaderRequest(onRequestPACertificates, onRequestTACertificates, onRequestTASignature)
575
- else -> null
576
- }
585
+ return result
577
586
  }
578
587
 
579
- var requestType = RfidReaderRequestType(
580
- doPACertificates = false,
581
- doTACertificates = false,
582
- doTASignature = false
583
- )
584
-
585
588
  @Suppress("DEPRECATION", "MissingPermission")
586
589
  fun newIntent(intent: Intent): Boolean {
587
590
  if (intent.action != NfcAdapter.ACTION_TECH_DISCOVERED) return false
588
591
  val isoDep = IsoDep.get(intent.getParcelableExtra(NfcAdapter.EXTRA_TAG))
589
592
  when (nfcFunction) {
590
- "readRFID" -> Instance().readRFID(isoDep, rfidReaderCompletion, requestType.getRfidReaderRequest())
593
+ "readRFID" -> Instance().readRFID(isoDep, rfidReaderCompletion, rfidReaderRequest)
591
594
  "engageDeviceNFC" -> Instance().engageDeviceNFC(isoDep) { v1, v2 -> engageDeviceNFCCallback(generateDeviceEngagementCompletion(v1, v2)) }
592
595
  "retrieveDataNFC" -> Instance().retrieveDataNFC(isoDep, retrieveDataNFCProp) { v1, v2, v3 -> retrieveDataNFCCallback(generateCompletion(v1, v2, v3)) }
593
596
  }
@@ -1,12 +1,12 @@
1
1
  repositories {
2
2
  maven {
3
- url "https://maven.regulaforensics.com/RegulaDocumentReader/Stage"
3
+ url "https://maven.regulaforensics.com/RegulaDocumentReader"
4
4
  }
5
5
  }
6
6
 
7
7
  dependencies {
8
8
  //noinspection GradleDependency
9
- implementation ('com.regula.documentreader:api:9.3.12696'){
9
+ implementation ('com.regula.documentreader:api:9.3.12663'){
10
10
  transitive = true
11
11
  }
12
12
  }
@@ -198,6 +198,10 @@
198
198
  +(NSDictionary* _Nullable)generateDocumentRequestMDL:(RGLDocumentRequestMDL* _Nullable)input;
199
199
  +(RGLFinalizeConfig* _Nullable)finalizeConfigFromJson:(NSDictionary* _Nullable)input;
200
200
  +(NSDictionary* _Nullable)generateFinalizeConfig:(RGLFinalizeConfig* _Nullable)input;
201
+ +(RGLRFIDAccessControlPACE* _Nullable)paceProtocolFromJson:(NSDictionary* _Nullable)input;
202
+ +(NSDictionary* _Nullable)generatePaceProtocol:(RGLRFIDAccessControlPACE* _Nullable)input;
203
+ +(RGLRFIDAccessControlCA* _Nullable)caProtocolFromJson:(NSDictionary* _Nullable)input;
204
+ +(NSDictionary* _Nullable)generateCaProtocol:(RGLRFIDAccessControlCA* _Nullable)input;
201
205
 
202
206
  @end
203
207
 
@@ -61,22 +61,22 @@ static NSMutableArray* weakReferencesHolder;
61
61
  +(NSDictionary*)generateError:(NSError*)input {
62
62
  if(input == nil) return nil;
63
63
  NSMutableDictionary *result = [NSMutableDictionary new];
64
-
64
+
65
65
  result[@"code"] = [NSNumber numberWithInteger:input.code];
66
66
  result[@"message"] = input.localizedDescription;
67
-
67
+
68
68
  return result;
69
69
  }
70
70
 
71
71
  +(NSString*)generateCompletion:(NSNumber*)action :(RGLDocumentReaderResults*)results :(NSError*)error {
72
72
  NSMutableDictionary *result = [NSMutableDictionary new];
73
73
  int actionInt = [action intValue];
74
-
74
+
75
75
  if(actionInt == 0 || actionInt == 2 || actionInt == 3 || actionInt == 4 || actionInt == 6)
76
76
  result[@"results"] = [self generateDocumentReaderResults:results];
77
77
  result[@"action"] = action;
78
78
  result[@"error"] = [self generateError:error];
79
-
79
+
80
80
  return [RGLWJSONConstructor dictToString: result];
81
81
  }
82
82
 
@@ -100,11 +100,11 @@ static NSMutableArray* weakReferencesHolder;
100
100
 
101
101
  +(NSString*)generateFinalizePackageCompletion:(NSNumber*)action :(RGLTransactionInfo*)info :(NSError*)error {
102
102
  NSMutableDictionary *result = [NSMutableDictionary new];
103
-
103
+
104
104
  result[@"action"] = action;
105
105
  result[@"info"] = [self generateTransactionInfo:info];
106
106
  result[@"error"] = [self generateError:error];
107
-
107
+
108
108
  return [RGLWJSONConstructor dictToString: result];
109
109
  }
110
110
 
@@ -158,12 +158,12 @@ static NSMutableArray* weakReferencesHolder;
158
158
  if (!input) return nil;
159
159
  if (!input[@"license"]) return nil;
160
160
  RGLConfig *config = [[RGLConfig alloc] initWithLicenseData:[self base64Decode: input[@"license"]]];
161
-
161
+
162
162
  if (input[@"databasePath"]) config.databasePath = input[@"databasePath"];
163
163
  if (input[@"licenseUpdateTimeout"]) config.licenseUpdateTimeout = input[@"licenseUpdateTimeout"];
164
164
  if (input[@"licenseUpdate"]) config.licenseUpdateCheck = [input[@"licenseUpdate"] boolValue];
165
165
  if (input[@"delayedNNLoad"]) config.delayedNNLoadEnabled = [input[@"delayedNNLoad"] boolValue];
166
-
166
+
167
167
  return config;
168
168
  }
169
169
 
@@ -176,19 +176,19 @@ static NSMutableArray* weakReferencesHolder;
176
176
  result[@"licenseUpdateTimeout"] = input.licenseUpdateTimeout;
177
177
  result[@"licenseUpdate"] = @(input.licenseUpdateCheck);
178
178
  result[@"delayedNNLoad"] = @(input.delayedNNLoadEnabled);
179
-
179
+
180
180
  return result;
181
181
  }
182
182
 
183
183
  +(RGLBleConfig*)bleDeviceConfigFromJson:(NSDictionary*)input :(RGLBluetooth*)bluetooth {
184
184
  if (!input) return nil;
185
185
  RGLBleConfig *config = [[RGLBleConfig alloc] initWithBluetooth:bluetooth];
186
-
186
+
187
187
  if (input[@"databasePath"]) config.databasePath = input[@"databasePath"];
188
188
  if (input[@"licenseUpdateTimeout"]) config.licenseUpdateTimeout = input[@"licenseUpdateTimeout"];
189
189
  if (input[@"licenseUpdate"]) config.licenseUpdateCheck = [input[@"licenseUpdate"] boolValue];
190
190
  if (input[@"delayedNNLoad"]) config.delayedNNLoadEnabled = [input[@"delayedNNLoad"] boolValue];
191
-
191
+
192
192
  return config;
193
193
  }
194
194
 
@@ -223,7 +223,7 @@ static NSMutableArray* weakReferencesHolder;
223
223
  RGLRecognizeConfig *config = [RGLRecognizeConfig alloc];
224
224
  if (input[@"scenario"]) config = [config initWithScenario:input[@"scenario"]];
225
225
  else config = [config initWithOnlineProcessingConfig:[self onlineProcessingConfigFromJson:input[@"onlineProcessingConfig"]]];
226
-
226
+
227
227
  if (input[@"image"]) config.image = [RGLWJSONConstructor imageWithBase64:input[@"image"]];
228
228
  if (input[@"data"]) config.imageData = [RGLWJSONConstructor base64Decode:input[@"data"]];
229
229
  if (input[@"images"]) {
@@ -238,13 +238,13 @@ static NSMutableArray* weakReferencesHolder;
238
238
  [imageInputs addObject:[RGLWJSONConstructor imageInputFromJson: imageInput]];
239
239
  config.imageInputs = imageInputs;
240
240
  }
241
-
241
+
242
242
  if (input[@"scenario"]) config.scenario = input[@"scenario"];
243
243
  if (input[@"livePortrait"]) config.livePortrait = [self imageWithBase64:input[@"livePortrait"]];
244
244
  if (input[@"extPortrait"]) config.extPortrait = [self imageWithBase64:input[@"extPortrait"]];
245
245
  if (input[@"oneShotIdentification"]) config.oneShotIdentification = input[@"oneShotIdentification"];
246
246
  if (input[@"dtc"]) config.dtc = [RGLWJSONConstructor base64Decode:input[@"dtc"]];
247
-
247
+
248
248
  return config;
249
249
  }
250
250
 
@@ -533,10 +533,10 @@ static NSMutableArray* weakReferencesHolder;
533
533
 
534
534
  +(RGLRFIDParams*)rfidParamsFromJson:(NSDictionary*)input {
535
535
  RGLRFIDParams* result = [RGLRFIDParams new];
536
-
536
+
537
537
  if([input valueForKey:@"paIgnoreNotificationCodes"] != nil)
538
538
  result.paIgnoreNotificationCodes = [input valueForKey:@"paIgnoreNotificationCodes"];
539
-
539
+
540
540
  return result;
541
541
  }
542
542
 
@@ -561,7 +561,7 @@ static NSMutableArray* weakReferencesHolder;
561
561
 
562
562
  +(RGLFaceAPIParams*)faceAPIParamsFromJson:(NSDictionary*)input {
563
563
  RGLFaceAPIParams* result = [RGLFaceAPIParams defaultParams];
564
-
564
+
565
565
  if([input valueForKey:@"url"] != nil)
566
566
  result.url = [input valueForKey:@"url"];
567
567
  if([input valueForKey:@"mode"] != nil)
@@ -578,7 +578,7 @@ static NSMutableArray* weakReferencesHolder;
578
578
  result.proxyPassword = [input valueForKey:@"proxyPassword"];
579
579
  if([input valueForKey:@"proxyType"] != nil)
580
580
  result.proxyType = [input valueForKey:@"proxyType"];
581
-
581
+
582
582
  return result;
583
583
  }
584
584
 
@@ -600,14 +600,14 @@ static NSMutableArray* weakReferencesHolder;
600
600
 
601
601
  +(RGLFaceAPISearchParams*)faceAPISearchParamsFromJson:(NSDictionary*)input {
602
602
  RGLFaceAPISearchParams* result = [RGLFaceAPISearchParams new];
603
-
603
+
604
604
  if([input valueForKey:@"limit"] != nil)
605
605
  result.limit = [input valueForKey:@"limit"];
606
606
  if([input valueForKey:@"threshold"] != nil)
607
607
  result.threshold = [input valueForKey:@"threshold"];
608
608
  if([input valueForKey:@"groupIds"] != nil)
609
609
  result.groupIDs = [input valueForKey:@"groupIds"];
610
-
610
+
611
611
  return result;
612
612
  }
613
613
 
@@ -1055,7 +1055,7 @@ static NSMutableArray* weakReferencesHolder;
1055
1055
  result[@"notificationCode"] = @(input.code & -0x10000);
1056
1056
  result[@"dataFileType"] = @((int)input.attachment);
1057
1057
  result[@"progress"] = @((int)input.value);
1058
-
1058
+
1059
1059
  return [RGLWJSONConstructor dictToString: result];
1060
1060
  }
1061
1061
 
@@ -1714,10 +1714,10 @@ static NSMutableArray* weakReferencesHolder;
1714
1714
  +(NSDictionary*)generateDataField:(RGLDataField*)input {
1715
1715
  NSMutableDictionary *result = [NSMutableDictionary new];
1716
1716
  if(input == nil) return nil;
1717
-
1717
+
1718
1718
  result[@"data"] = input.data;
1719
1719
  result[@"fieldType"] = @(input.fieldType);
1720
-
1720
+
1721
1721
  return result;
1722
1722
  }
1723
1723
 
@@ -1835,7 +1835,7 @@ static NSMutableArray* weakReferencesHolder;
1835
1835
  for(NSDictionary* item in [input valueForKey:@"checks"])
1836
1836
  [array addObject:[self authenticityCheckFromJson:item]];
1837
1837
  RGLDocumentReaderAuthenticityResult* result = [[RGLDocumentReaderAuthenticityResult alloc]
1838
- initWithAuthenticityChecks:array];
1838
+ initWithAuthenticityChecks:array];
1839
1839
  if (input[@"status"]) [result setValue:input[@"status"] forKey:@"_security"];
1840
1840
  return result;
1841
1841
  }
@@ -2434,7 +2434,7 @@ static NSMutableArray* weakReferencesHolder;
2434
2434
  for (NSString* key in map) {
2435
2435
  [result addField:key intentToRetain:[map[key] integerValue]];
2436
2436
  }
2437
-
2437
+
2438
2438
  return result;
2439
2439
 
2440
2440
  }
@@ -2459,7 +2459,7 @@ static NSMutableArray* weakReferencesHolder;
2459
2459
  [nameSpaces addObject:[self nameSpaceMDLFromJson: item]];
2460
2460
  }
2461
2461
  [result setValue:nameSpaces forKey:@"nameSpaces"];
2462
-
2462
+
2463
2463
  return result;
2464
2464
 
2465
2465
  }
@@ -2632,7 +2632,7 @@ static NSMutableArray* weakReferencesHolder;
2632
2632
  if (input[@"video"]) result.video = [input[@"video"] boolValue];
2633
2633
  if (input[@"rfidSession"]) result.rfidSession = [input[@"rfidSession"] boolValue];
2634
2634
  if (input[@"mdlSession"]) result.mdlSession = [input[@"mdlSession"] boolValue];
2635
-
2635
+
2636
2636
  return result;
2637
2637
  }
2638
2638
 
@@ -2648,6 +2648,52 @@ static NSMutableArray* weakReferencesHolder;
2648
2648
  return result;
2649
2649
  }
2650
2650
 
2651
+ +(RGLRFIDAccessControlPACE*)paceProtocolFromJson:(NSDictionary*)input {
2652
+ NSMutableDictionary* json = input.mutableCopy;
2653
+
2654
+ json[@"Version"] = input[@"version"];
2655
+ json[@"StdDomainParams"] = input[@"stdDomainParams"];
2656
+ json[@"KeyAlgorithm"] = input[@"keyAlgorithm"];
2657
+ #pragma clang diagnostic ignored "-Warc-performSelector-leaks"
2658
+ return [[RGLRFIDAccessControlPACE alloc] performSelector:NSSelectorFromString(@"initWithJSON:") withObject:json];
2659
+ #pragma clang diagnostic pop
2660
+ }
2661
+
2662
+ +(NSDictionary*)generatePaceProtocol:(RGLRFIDAccessControlPACE*)input {
2663
+ if(input == nil) return nil;
2664
+ NSMutableDictionary* result = [NSMutableDictionary new];
2665
+
2666
+ result[@"version"] = [NSString stringWithFormat:@"%ld", (long)input.version];
2667
+ result[@"stdDomainParams"] = input.stdDomainParams;
2668
+ result[@"keyAlgorithm"] = input.keyAlgorithm;
2669
+
2670
+ return result;
2671
+ }
2672
+
2673
+ +(RGLRFIDAccessControlCA*)caProtocolFromJson:(NSDictionary*)input {
2674
+ NSMutableDictionary* json = input.mutableCopy;
2675
+
2676
+ json[@"Version"] = input[@"version"];
2677
+ json[@"Scheme"] = input[@"scheme"];
2678
+ json[@"KeyAlgorithm"] = input[@"keyAlgorithm"];
2679
+ json[@"ChipIndividual"] = input[@"chipIndividual"];
2680
+ #pragma clang diagnostic ignored "-Warc-performSelector-leaks"
2681
+ return [[RGLRFIDAccessControlCA alloc] performSelector:NSSelectorFromString(@"initWithJSON:") withObject:json];
2682
+ #pragma clang diagnostic pop
2683
+ }
2684
+
2685
+ +(NSDictionary*)generateCaProtocol:(RGLRFIDAccessControlCA*)input {
2686
+ if(input == nil) return nil;
2687
+ NSMutableDictionary* result = [NSMutableDictionary new];
2688
+
2689
+ result[@"version"] = [NSString stringWithFormat:@"%ld", (long)input.version];
2690
+ result[@"scheme"] = input.scheme;
2691
+ result[@"keyAlgorithm"] = input.keyAlgorithm;
2692
+ result[@"chipIndividual"] = [NSNumber numberWithBool: input.chipIndividual];
2693
+
2694
+ return result;
2695
+ }
2696
+
2651
2697
  +(RGLDocumentReaderResults*)documentReaderResultsFromJson:(NSDictionary*)input {
2652
2698
  NSMutableArray<RGLDocumentReaderDocumentType*>* documentType = [NSMutableArray new];
2653
2699
  for(NSDictionary* item in [input valueForKey:@"documentType"]){
@@ -2671,26 +2717,26 @@ static NSMutableArray* weakReferencesHolder;
2671
2717
  }
2672
2718
 
2673
2719
  RGLDocumentReaderResults* result = [[RGLDocumentReaderResults alloc]
2674
- initWithDocumentTypes:documentType
2675
- textResult:[self documentReaderTextResultFromJson: [input valueForKey:@"textResult"]]
2676
- graphicResult:[self documentReaderGraphicResultFromJson: [input valueForKey:@"graphicResult"]]
2677
- rawResult:[input valueForKey:@"rawResult"]
2678
- documentPosition:documentPosition
2679
- barcodePosition:barcodePosition
2680
- mrzPosition:mrzPosition
2681
- imageQualityGroup:imageQuality
2682
- authenticityResults:[self documentReaderAuthenticityResultFromJson: [input valueForKey:@"authenticityResult"]]
2683
- rfidSessionData:[self rfidSessionDataFromJson: [input valueForKey:@"rfidSessionData"]]
2684
- chipPage:[[input valueForKey:@"chipPage"] integerValue]
2685
- barcodeResult:[self documentReaderBarcodeResultFromJson: [input valueForKey:@"barcodeResult"]]
2686
- vdsncData:[self vdsncDataFromJson: [input valueForKey:@"vdsncData"]]
2687
- vdsData:[self vdsDataFromJson: [input valueForKey:@"vdsData"]]
2688
- status:[self documentReaderResultsStatusFromJson: [input valueForKey:@"status"]]
2689
- processingFinished:[[input valueForKey:@"processingFinishedStatus"] integerValue]
2690
- morePagesAvailable:[[input valueForKey:@"morePagesAvailable"] integerValue]
2691
- elapsedTime:[[input valueForKey:@"elapsedTime"] integerValue]
2692
- elapsedTimeRFID:[[input valueForKey:@"elapsedTimeRFID"] integerValue]
2693
- transactionInfo:[self transactionInfoFromJson:[input valueForKey:@"transactionInfo"]]];
2720
+ initWithDocumentTypes:documentType
2721
+ textResult:[self documentReaderTextResultFromJson: [input valueForKey:@"textResult"]]
2722
+ graphicResult:[self documentReaderGraphicResultFromJson: [input valueForKey:@"graphicResult"]]
2723
+ rawResult:[input valueForKey:@"rawResult"]
2724
+ documentPosition:documentPosition
2725
+ barcodePosition:barcodePosition
2726
+ mrzPosition:mrzPosition
2727
+ imageQualityGroup:imageQuality
2728
+ authenticityResults:[self documentReaderAuthenticityResultFromJson: [input valueForKey:@"authenticityResult"]]
2729
+ rfidSessionData:[self rfidSessionDataFromJson: [input valueForKey:@"rfidSessionData"]]
2730
+ chipPage:[[input valueForKey:@"chipPage"] integerValue]
2731
+ barcodeResult:[self documentReaderBarcodeResultFromJson: [input valueForKey:@"barcodeResult"]]
2732
+ vdsncData:[self vdsncDataFromJson: [input valueForKey:@"vdsncData"]]
2733
+ vdsData:[self vdsDataFromJson: [input valueForKey:@"vdsData"]]
2734
+ status:[self documentReaderResultsStatusFromJson: [input valueForKey:@"status"]]
2735
+ processingFinished:[[input valueForKey:@"processingFinishedStatus"] integerValue]
2736
+ morePagesAvailable:[[input valueForKey:@"morePagesAvailable"] integerValue]
2737
+ elapsedTime:[[input valueForKey:@"elapsedTime"] integerValue]
2738
+ elapsedTimeRFID:[[input valueForKey:@"elapsedTimeRFID"] integerValue]
2739
+ transactionInfo:[self transactionInfoFromJson:[input valueForKey:@"transactionInfo"]]];
2694
2740
 
2695
2741
  [result setValue:[RGLWJSONConstructor base64Decode:input[@"dtcData"]] forKey:@"dtcData"];
2696
2742
  [result setValue:input[@"bsiTr03135Results"] forKey:@"bsiTr03135Results"];
@@ -18,10 +18,6 @@ extern UIViewController*_Nonnull(^ _Nonnull RGLWRootViewController)(void);
18
18
  :(RGLWCallback _Nonnull)callback
19
19
  :(RGLWEventSender _Nonnull)eventSender;
20
20
 
21
- @property NSNumber* _Nonnull doRequestPACertificates;
22
- @property NSNumber* _Nonnull doRequestTACertificates;
23
- @property NSNumber* _Nonnull doRequestTASignature;
24
-
25
21
  @end
26
22
 
27
23
  static NSString* _Nonnull completionEvent = @"completion";
@@ -32,5 +28,7 @@ static NSString* _Nonnull rfidOnRetryReadChipEvent = @"rfidOnRetryReadChipEvent"
32
28
  static NSString* _Nonnull paCertificateCompletionEvent = @"pa_certificate_completion";
33
29
  static NSString* _Nonnull taCertificateCompletionEvent = @"ta_certificate_completion";
34
30
  static NSString* _Nonnull taSignatureCompletionEvent = @"ta_signature_completion";
31
+ static NSString* _Nonnull paceProtocolCompletionEvent = @"paceProtocolCompletionEvent";
32
+ static NSString* _Nonnull caProtocolCompletionEvent = @"caProtocolCompletionEvent";
35
33
  static NSString* _Nonnull drVideoEncoderCompletionEvent = @"video_encoder_completion";
36
34
  static NSString* _Nonnull drOnCustomButtonTappedEvent = @"onCustomButtonTappedEvent";
@@ -41,12 +41,14 @@
41
41
  @"recognize": ^{ [self recognize :args[0]]; },
42
42
  @"startNewPage": ^{ [self startNewPage]; },
43
43
  @"stopScanner": ^{ [self stopScanner]; },
44
- @"startRFIDReader": ^{ [self startRFIDReader :args[0] :args[1] :args[2]]; },
45
- @"readRFID": ^{ [self readRFID :args[0] :args[1] :args[2]]; },
44
+ @"startRFIDReader": ^{ [self startRFIDReader :args[0]]; },
45
+ @"readRFID": ^{ [self readRFID :args[0]]; },
46
46
  @"stopRFIDReader": ^{ [self stopRFIDReader]; },
47
47
  @"providePACertificates": ^{ [self providePACertificates :args[0]]; },
48
48
  @"provideTACertificates": ^{ [self provideTACertificates :args[0]]; },
49
49
  @"provideTASignature": ^{ [self provideTASignature :args[0]]; },
50
+ @"selectPACEProtocol": ^{ [self selectPACEProtocol :args[0]]; },
51
+ @"selectCAProtocol": ^{ [self selectCAProtocol :args[0]]; },
50
52
  @"setTCCParams": ^{ [self setTCCParams :args[0] :callback]; },
51
53
  @"addPKDCertificates": ^{ [self addPKDCertificates :args[0]]; },
52
54
  @"clearPKDCertificates": ^{ [self clearPKDCertificates]; },
@@ -249,19 +251,15 @@ static NSDictionary* headers;
249
251
  });
250
252
  }
251
253
 
252
- +(void)startRFIDReader:(NSNumber*)paCert :(NSNumber*)taCert :(NSNumber*)taSig {
253
- this.doRequestPACertificates = paCert;
254
- this.doRequestTACertificates = taCert;
255
- this.doRequestTASignature = taSig;
254
+ +(void)startRFIDReader:(NSDictionary*)config {
255
+ rfidReaderRequest = config;
256
256
  dispatch_async(dispatch_get_main_queue(), ^{
257
257
  [RGLDocReader.shared startRFIDReaderFromPresenter:RGLWRootViewController() completion:[self completion]];
258
258
  });
259
259
  }
260
260
 
261
- +(void)readRFID:(NSNumber*)paCert :(NSNumber*)taCert :(NSNumber*)taSig {
262
- this.doRequestPACertificates = paCert;
263
- this.doRequestTACertificates = taCert;
264
- this.doRequestTASignature = taSig;
261
+ +(void)readRFID:(NSDictionary*)config {
262
+ rfidReaderRequest = config;
265
263
  [RGLDocReader.shared readRFID:^(RGLRFIDNotificationAction notificationAction, RGLRFIDNotify* _Nullable notification) {
266
264
  if (notification != nil) sendEvent(rfidOnProgressEvent, [RGLWJSONConstructor generateDocumentReaderNotification:notification]);
267
265
  } completion :^(RGLRFIDCompleteAction action, RGLDocumentReaderResults * _Nullable results, NSError * _Nullable error, RGLRFIDErrorCodes errorCode) {
@@ -291,6 +289,14 @@ static NSDictionary* headers;
291
289
  taSignatureCompletion([RGLWJSONConstructor base64Decode:signature]);
292
290
  }
293
291
 
292
+ +(void)selectPACEProtocol:(NSDictionary*)protocol {
293
+ paceProtocolCompletion([RGLWJSONConstructor paceProtocolFromJson:protocol]);
294
+ }
295
+
296
+ +(void)selectCAProtocol:(NSDictionary*)protocol {
297
+ caProtocolCompletion([RGLWJSONConstructor caProtocolFromJson:protocol]);
298
+ }
299
+
294
300
  +(void)setTCCParams:(NSDictionary*)params :(RGLWCallback)callback {
295
301
  [RGLDocReader.shared setTCCParams:[RGLWJSONConstructor tccParamsFromJson:params] completion:^(BOOL success, NSError * _Nullable error) {
296
302
  callback([RGLWJSONConstructor generateSuccessCompletion:success :error]);
@@ -626,9 +632,13 @@ RGLWCallback savedCallbackForBluetoothResult;
626
632
  RGLRFIDCertificatesCallback paCertificateCompletion;
627
633
  RGLRFIDCertificatesCallback taCertificateCompletion;
628
634
  RGLWRFIDSignatureCallback taSignatureCompletion;
635
+ RGLRFIDAccessControlPACECallback paceProtocolCompletion;
636
+ RGLRFIDAccessControlCACallback caProtocolCompletion;
637
+
638
+ NSDictionary* rfidReaderRequest;
629
639
 
630
640
  - (void)onRequestPACertificatesWithSerial:(NSData *)serialNumber issuer:(RGLPAResourcesIssuer *)issuer callback:(RGLRFIDCertificatesCallback)callback {
631
- if([self.doRequestPACertificates boolValue]) {
641
+ if (rfidReaderRequest && [rfidReaderRequest[@"paCertificates"] boolValue]) {
632
642
  paCertificateCompletion = callback;
633
643
  sendEvent(paCertificateCompletionEvent, [RGLWJSONConstructor generatePACertificateCompletion:serialNumber :issuer]);
634
644
  } else {
@@ -638,7 +648,7 @@ RGLWRFIDSignatureCallback taSignatureCompletion;
638
648
  }
639
649
 
640
650
  - (void)onRequestTACertificatesWithKey:(NSString *)keyCAR callback:(RGLRFIDCertificatesCallback)callback {
641
- if([self.doRequestTACertificates boolValue]) {
651
+ if (rfidReaderRequest && [rfidReaderRequest[@"taCertificates"] boolValue]) {
642
652
  taCertificateCompletion = callback;
643
653
  sendEvent(taCertificateCompletionEvent, keyCAR);
644
654
  } else {
@@ -648,7 +658,7 @@ RGLWRFIDSignatureCallback taSignatureCompletion;
648
658
  }
649
659
 
650
660
  - (void)onRequestTASignatureWithChallenge:(RGLTAChallenge *)challenge callback:(void(^)(NSData *signature))callback {
651
- if([self.doRequestTASignature boolValue]) {
661
+ if (rfidReaderRequest && [rfidReaderRequest[@"taSignature"] boolValue]) {
652
662
  taSignatureCompletion = callback;
653
663
  sendEvent(taSignatureCompletionEvent, [RGLWJSONConstructor dictToString: [RGLWJSONConstructor generateTAChallenge:challenge]]);
654
664
  } else {
@@ -657,6 +667,32 @@ RGLWRFIDSignatureCallback taSignatureCompletion;
657
667
  }
658
668
  }
659
669
 
670
+ - (void)onRequestPACEProtocolWithOptions:(NSArray<RGLRFIDAccessControlPACE*>*)protocols callback:(RGLRFIDAccessControlPACECallback)callback {
671
+ if (rfidReaderRequest && [rfidReaderRequest[@"paceProtocol"] boolValue]) {
672
+ paceProtocolCompletion = callback;
673
+ NSMutableArray *array = [NSMutableArray new];
674
+ for(RGLRFIDAccessControlPACE* item in protocols)
675
+ [array addObject:[RGLWJSONConstructor generatePaceProtocol:item]];
676
+ sendEvent(paceProtocolCompletionEvent, [RGLWJSONConstructor arrayToString: array]);
677
+ } else {
678
+ paceProtocolCompletion = nil;
679
+ callback(nil);
680
+ }
681
+ }
682
+
683
+ - (void)onRequestCAProtocolWithOptions:(NSArray<RGLRFIDAccessControlCA*>*)protocols callback:(RGLRFIDAccessControlCACallback)callback {
684
+ if (rfidReaderRequest && [rfidReaderRequest[@"caProtocol"] boolValue]) {
685
+ caProtocolCompletion = callback;
686
+ NSMutableArray *array = [NSMutableArray new];
687
+ for(RGLRFIDAccessControlCA* item in protocols)
688
+ [array addObject:[RGLWJSONConstructor generateCaProtocol:item]];
689
+ sendEvent(caProtocolCompletionEvent, [RGLWJSONConstructor arrayToString: array]);
690
+ } else {
691
+ caProtocolCompletionEvent = nil;
692
+ callback(nil);
693
+ }
694
+ }
695
+
660
696
  - (void)didChipConnected {
661
697
  sendEvent(rfidOnChipDetectedEvent, @"");
662
698
  }
@@ -2130,6 +2130,48 @@ class FinalizeCompletion {
2130
2130
  }
2131
2131
  }
2132
2132
 
2133
+ class PACEProtocol {
2134
+ static fromJson(jsonObject) {
2135
+ if (jsonObject == null) return null
2136
+ const result = new PACEProtocol()
2137
+
2138
+ result.version = jsonObject["version"]
2139
+ result.stdDomainParams = jsonObject["stdDomainParams"]
2140
+ result.keyAlgorithm = jsonObject["keyAlgorithm"]
2141
+
2142
+ return result
2143
+ }
2144
+ }
2145
+
2146
+ class CAProtocol {
2147
+ static fromJson(jsonObject) {
2148
+ if (jsonObject == null) return null
2149
+ const result = new CAProtocol()
2150
+
2151
+ result.version = jsonObject["version"]
2152
+ result.scheme = jsonObject["scheme"]
2153
+ result.keyAlgorithm = jsonObject["keyAlgorithm"]
2154
+ result.chipIndividual = jsonObject["chipIndividual"]
2155
+
2156
+ return result
2157
+ }
2158
+ }
2159
+
2160
+ class RFIDConfig {
2161
+ static fromJson(jsonObject) {
2162
+ if (jsonObject == null) return null
2163
+ const result = new RFIDConfig()
2164
+
2165
+ result.onRequestPACertificates = jsonObject["onRequestPACertificates"]
2166
+ result.onRequestTACertificates = jsonObject["onRequestTACertificates"]
2167
+ result.onRequestTASignature = jsonObject["onRequestTASignature"]
2168
+ result.onRequestPACEProtocol = jsonObject["onRequestPACEProtocol"]
2169
+ result.onRequestCAProtocol = jsonObject["onRequestCAProtocol"]
2170
+
2171
+ return result
2172
+ }
2173
+ }
2174
+
2133
2175
  // Enum
2134
2176
 
2135
2177
  const FontStyle = {
@@ -4849,12 +4891,14 @@ DocumentReader.startScanner = (config, successCallback, errorCallback) => cordov
4849
4891
  DocumentReader.recognize = (config, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["recognize", config])
4850
4892
  DocumentReader.startNewPage = (successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["startNewPage"])
4851
4893
  DocumentReader.stopScanner = (successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["stopScanner"])
4852
- DocumentReader.startRFIDReader = (requestPACertificates, requestTACertificates, requestTASignature, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["startRFIDReader", requestPACertificates, requestTACertificates, requestTASignature])
4853
- DocumentReader.readRFID = (requestPACertificates, requestTACertificates, requestTASignature, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["readRFID", requestPACertificates, requestTACertificates, requestTASignature])
4894
+ DocumentReader.startRFIDReader = (config, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["startRFIDReader", config])
4895
+ DocumentReader.readRFID = (config, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["readRFID", config])
4854
4896
  DocumentReader.stopRFIDReader = (successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["stopRFIDReader"])
4855
4897
  DocumentReader.providePACertificates = (certificates, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["providePACertificates", certificates])
4856
4898
  DocumentReader.provideTACertificates = (certificates, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["provideTACertificates", certificates])
4857
4899
  DocumentReader.provideTASignature = (signature, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["provideTASignature", signature])
4900
+ DocumentReader.selectPACEProtocol = (protocol, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["selectPACEProtocol", protocol])
4901
+ DocumentReader.selectCAProtocol = (protocol, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["selectCAProtocol", protocol])
4858
4902
  DocumentReader.setTCCParams = (params, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["setTCCParams", params])
4859
4903
  DocumentReader.addPKDCertificates = (certificates, successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["addPKDCertificates", certificates])
4860
4904
  DocumentReader.clearPKDCertificates = (successCallback, errorCallback) => cordova.exec(successCallback, errorCallback, "DocumentReader", "exec", ["clearPKDCertificates"])
@@ -5009,5 +5053,8 @@ DocumentReaderPlugin.NameSpaceMDL = NameSpaceMDL
5009
5053
  DocumentReaderPlugin.DocumentRequest18013MDL = DocumentRequest18013MDL
5010
5054
  DocumentReaderPlugin.FinalizeConfig = FinalizeConfig
5011
5055
  DocumentReaderPlugin.FinalizeCompletion = FinalizeCompletion
5056
+ DocumentReaderPlugin.PACEProtocol = PACEProtocol
5057
+ DocumentReaderPlugin.CAProtocol = CAProtocol
5058
+ DocumentReaderPlugin.RFIDConfig = RFIDConfig
5012
5059
 
5013
5060
  module.exports = DocumentReaderPlugin