@regulaforensics/react-native-document-reader-api 9.4.517-nightly → 9.4.519-rc

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.
@@ -14,6 +14,6 @@ Pod::Spec.new do |s|
14
14
  s.source = { :http => 'file:' + __dir__ }
15
15
  s.ios.deployment_target = '13.0'
16
16
  s.source_files = "ios/*.{h,m}"
17
- s.dependency 'DocumentReaderNightly', '9.4.6185'
17
+ s.dependency 'DocumentReaderStage', '9.4.6188'
18
18
  s.dependency 'React'
19
19
  end
@@ -20,7 +20,7 @@ android {
20
20
  rootProject.allprojects {
21
21
  repositories {
22
22
  maven {
23
- url "https://maven.regulaforensics.com/RegulaDocumentReader/Nightly"
23
+ url "https://maven.regulaforensics.com/RegulaDocumentReader/Stage"
24
24
  }
25
25
  }
26
26
  }
@@ -29,7 +29,7 @@ dependencies {
29
29
  //noinspection GradleDynamicVersion
30
30
  implementation 'com.facebook.react:react-native:+'
31
31
  //noinspection GradleDependency
32
- implementation('com.regula.documentreader:api:9.4.12714') {
32
+ implementation('com.regula.documentreader:api:9.3.12716') {
33
33
  transitive = true
34
34
  }
35
35
  }
@@ -47,9 +47,7 @@ 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
51
50
  import com.regula.documentreader.api.params.rfid.PKDCertificate
52
- import com.regula.documentreader.api.params.rfid.PaceProtocol
53
51
  import com.regula.documentreader.api.params.rfid.RFIDParams
54
52
  import com.regula.documentreader.api.params.rfid.TccParams
55
53
  import com.regula.documentreader.api.params.rfid.authorization.PAAttribute
@@ -2140,37 +2138,3 @@ fun generateFinalizeConfig(input: FinalizeConfig?) = input?.let {
2140
2138
  "mdlSession" to it.getPrivateProperty("mdlSession"),
2141
2139
  ).toJson()
2142
2140
  }
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
24
22
  import com.regula.documentreader.api.completions.rfid.IRfidPKDCertificateCompletion
25
23
  import com.regula.documentreader.api.completions.rfid.IRfidReaderCompletion
26
24
  import com.regula.documentreader.api.completions.rfid.IRfidReaderRequest
27
25
  import com.regula.documentreader.api.completions.rfid.IRfidTASignatureCompletion
28
- import com.regula.documentreader.api.completions.rfid.certificates.IRfidAccessControl
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
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,8 +39,6 @@ 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
44
42
  import com.regula.documentreader.api.results.DocumentReaderNotification
45
43
  import com.regula.documentreader.api.results.DocumentReaderResults
46
44
  import com.regula.documentreader.api.results.DocumentReaderResults.fromRawResults
@@ -86,14 +84,12 @@ fun methodCall(method: String, callback: (Any?) -> Unit): Any = when (method) {
86
84
  "recognize" -> recognize(args(0))
87
85
  "startNewPage" -> startNewPage()
88
86
  "stopScanner" -> stopScanner()
89
- "startRFIDReader" -> startRFIDReader(argsNullable(0))
90
- "readRFID" -> readRFID(argsNullable(0))
87
+ "startRFIDReader" -> startRFIDReader(args(0), args(1), args(2))
88
+ "readRFID" -> readRFID(args(0), args(1), args(2))
91
89
  "stopRFIDReader" -> stopRFIDReader()
92
90
  "providePACertificates" -> providePACertificates(argsNullable(0))
93
91
  "provideTACertificates" -> provideTACertificates(argsNullable(0))
94
92
  "provideTASignature" -> provideTASignature(args(0))
95
- "selectPACEProtocol" -> selectPACEProtocol(args(0))
96
- "selectCAProtocol" -> selectCAProtocol(args(0))
97
93
  "setTCCParams" -> setTCCParams(callback, args(0))
98
94
  "addPKDCertificates" -> addPKDCertificates(args(0))
99
95
  "clearPKDCertificates" -> clearPKDCertificates()
@@ -154,8 +150,6 @@ const val rfidOnRetryReadChipEvent = "rfidOnRetryReadChipEvent"
154
150
  const val paCertificateCompletionEvent = "pa_certificate_completion"
155
151
  const val taCertificateCompletionEvent = "ta_certificate_completion"
156
152
  const val taSignatureCompletionEvent = "ta_signature_completion"
157
- const val paceProtocolCompletionEvent = "paceProtocolCompletionEvent"
158
- const val caProtocolCompletionEvent = "caProtocolCompletionEvent"
159
153
 
160
154
  const val videoEncoderCompletionEvent = "video_encoder_completion"
161
155
  const val onCustomButtonTappedEvent = "onCustomButtonTappedEvent"
@@ -254,13 +248,22 @@ fun startNewPage() = Instance().startNewPage()
254
248
 
255
249
  fun stopScanner() = Instance().stopScanner(context)
256
250
 
257
- fun startRFIDReader(config: JSONObject?) {
251
+ fun startRFIDReader(onRequestPACertificates: Boolean, onRequestTACertificates: Boolean, onRequestTASignature: Boolean) {
258
252
  stopBackgroundRFID()
259
- Instance().startRFIDReader(activity, rfidReaderCompletion, getRfidReaderRequest(config))
253
+ requestType = RfidReaderRequestType(
254
+ onRequestPACertificates,
255
+ onRequestTACertificates,
256
+ onRequestTASignature
257
+ )
258
+ Instance().startRFIDReader(activity, rfidReaderCompletion, requestType.getRfidReaderRequest())
260
259
  }
261
260
 
262
- fun readRFID(config: JSONObject?) {
263
- rfidReaderRequest = getRfidReaderRequest(config)
261
+ fun readRFID(onRequestPACertificates: Boolean, onRequestTACertificates: Boolean, onRequestTASignature: Boolean) {
262
+ requestType = RfidReaderRequestType(
263
+ onRequestPACertificates,
264
+ onRequestTACertificates,
265
+ onRequestTASignature
266
+ )
264
267
  startForegroundDispatch("readRFID")
265
268
  }
266
269
 
@@ -281,14 +284,6 @@ fun provideTASignature(signature: String?) = taSignatureCompletion.onSignatureRe
281
284
  signature.toByteArray()
282
285
  )
283
286
 
284
- fun selectPACEProtocol(protocol: JSONObject) = paceProtocolCompletion.onPaceProtocolSelected(
285
- paceProtocolFromJSON(protocol)!!
286
- )
287
-
288
- fun selectCAProtocol(protocol: JSONObject) = caProtocolCompletion.onCaProtocolSelected(
289
- caProtocolFromJSON(protocol)!!
290
- )
291
-
292
287
  fun setTCCParams(callback: Callback, params: JSONObject) {
293
288
  Instance().setTccParams(tccParamsFromJSON(params)) { success, error ->
294
289
  callback(generateSuccessCompletion(success, error))
@@ -550,47 +545,49 @@ fun initCompletion(callback: Callback) = IDocumentReaderInitCompletion { success
550
545
  lateinit var paCertificateCompletion: IRfidPKDCertificateCompletion
551
546
  lateinit var taCertificateCompletion: IRfidPKDCertificateCompletion
552
547
  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
561
548
 
562
- if (config.getBoolean("paCertificates")) result.setPACertificates { serialNumber, issuer, completion ->
549
+ class RfidReaderRequestType(
550
+ val doPACertificates: Boolean,
551
+ val doTACertificates: Boolean,
552
+ val doTASignature: Boolean
553
+ ) {
554
+ private val onRequestPACertificates = IRfidPACertificates { serialNumber, issuer, completion ->
563
555
  paCertificateCompletion = completion
564
556
  sendEvent(paCertificateCompletionEvent, generatePACertificateCompletion(serialNumber, issuer))
565
557
  }
566
- if (config.getBoolean("taCertificates")) result.setTACertificates { keyCAR, completion ->
558
+ private val onRequestTACertificates = IRfidTACertificates { keyCAR, completion ->
567
559
  taCertificateCompletion = completion
568
560
  sendEvent(taCertificateCompletionEvent, keyCAR)
569
561
  }
570
- if (config.getBoolean("taSignature")) result.setTASignature { challenge, completion ->
562
+ private val onRequestTASignature = IRfidTASignature { challenge, completion ->
571
563
  taSignatureCompletion = completion
572
564
  sendEvent(taSignatureCompletionEvent, generateTAChallenge(challenge))
573
565
  }
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
- })
584
566
 
585
- return result
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
+ }
586
577
  }
587
578
 
579
+ var requestType = RfidReaderRequestType(
580
+ doPACertificates = false,
581
+ doTACertificates = false,
582
+ doTASignature = false
583
+ )
584
+
588
585
  @Suppress("DEPRECATION", "MissingPermission")
589
586
  fun newIntent(intent: Intent): Boolean {
590
587
  if (intent.action != NfcAdapter.ACTION_TECH_DISCOVERED) return false
591
588
  val isoDep = IsoDep.get(intent.getParcelableExtra(NfcAdapter.EXTRA_TAG))
592
589
  when (nfcFunction) {
593
- "readRFID" -> Instance().readRFID(isoDep, rfidReaderCompletion, rfidReaderRequest)
590
+ "readRFID" -> Instance().readRFID(isoDep, rfidReaderCompletion, requestType.getRfidReaderRequest())
594
591
  "engageDeviceNFC" -> Instance().engageDeviceNFC(isoDep) { v1, v2 -> engageDeviceNFCCallback(generateDeviceEngagementCompletion(v1, v2)) }
595
592
  "retrieveDataNFC" -> Instance().retrieveDataNFC(isoDep, retrieveDataNFCProp) { v1, v2, v3 -> retrieveDataNFCCallback(generateCompletion(v1, v2, v3)) }
596
593
  }
package/example/App.tsx CHANGED
@@ -210,12 +210,12 @@ export default class App extends React.Component<IProps, IState> {
210
210
 
211
211
  customRFID() {
212
212
  this.showRfidUI()
213
- DocumentReader.readRFID(null, _ => { }, _ => { })
213
+ DocumentReader.readRFID(false, false, false, _ => { }, _ => { })
214
214
  }
215
215
 
216
216
  usualRFID() {
217
217
  isReadingRfid = true
218
- DocumentReader.startRFIDReader(null, _ => { }, _ => { })
218
+ DocumentReader.startRFIDReader(false, false, false, _ => { }, _ => { })
219
219
  }
220
220
 
221
221
  handleResults(results: DocumentReaderResults) {
@@ -2078,9 +2078,9 @@
2078
2078
  "license": "Python-2.0"
2079
2079
  },
2080
2080
  "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
2081
- "version": "1.1.13",
2082
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz",
2083
- "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==",
2081
+ "version": "1.1.12",
2082
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
2083
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
2084
2084
  "dev": true,
2085
2085
  "license": "MIT",
2086
2086
  "dependencies": {
@@ -2158,9 +2158,9 @@
2158
2158
  }
2159
2159
  },
2160
2160
  "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
2161
- "version": "1.1.13",
2162
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz",
2163
- "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==",
2161
+ "version": "1.1.12",
2162
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
2163
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
2164
2164
  "dev": true,
2165
2165
  "license": "MIT",
2166
2166
  "dependencies": {
@@ -4468,9 +4468,9 @@
4468
4468
  "peer": true
4469
4469
  },
4470
4470
  "node_modules/brace-expansion": {
4471
- "version": "2.0.3",
4472
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz",
4473
- "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==",
4471
+ "version": "2.0.2",
4472
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
4473
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
4474
4474
  "dev": true,
4475
4475
  "license": "MIT",
4476
4476
  "dependencies": {
@@ -6158,9 +6158,9 @@
6158
6158
  "license": "MIT"
6159
6159
  },
6160
6160
  "node_modules/eslint-plugin-react/node_modules/brace-expansion": {
6161
- "version": "1.1.13",
6162
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz",
6163
- "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==",
6161
+ "version": "1.1.12",
6162
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
6163
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
6164
6164
  "dev": true,
6165
6165
  "license": "MIT",
6166
6166
  "dependencies": {
@@ -6260,9 +6260,9 @@
6260
6260
  "license": "Python-2.0"
6261
6261
  },
6262
6262
  "node_modules/eslint/node_modules/brace-expansion": {
6263
- "version": "1.1.13",
6264
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz",
6265
- "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==",
6263
+ "version": "1.1.12",
6264
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
6265
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
6266
6266
  "dev": true,
6267
6267
  "license": "MIT",
6268
6268
  "dependencies": {
@@ -6954,9 +6954,9 @@
6954
6954
  }
6955
6955
  },
6956
6956
  "node_modules/glob/node_modules/brace-expansion": {
6957
- "version": "1.1.13",
6958
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz",
6959
- "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==",
6957
+ "version": "1.1.12",
6958
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
6959
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
6960
6960
  "license": "MIT",
6961
6961
  "dependencies": {
6962
6962
  "balanced-match": "^1.0.0",
@@ -9105,9 +9105,9 @@
9105
9105
  }
9106
9106
  },
9107
9107
  "node_modules/lodash": {
9108
- "version": "4.18.1",
9109
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
9110
- "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
9108
+ "version": "4.17.23",
9109
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
9110
+ "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
9111
9111
  "license": "MIT"
9112
9112
  },
9113
9113
  "node_modules/lodash.debounce": {
@@ -10409,9 +10409,9 @@
10409
10409
  "license": "ISC"
10410
10410
  },
10411
10411
  "node_modules/picomatch": {
10412
- "version": "2.3.2",
10413
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
10414
- "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
10412
+ "version": "2.3.1",
10413
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
10414
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
10415
10415
  "license": "MIT",
10416
10416
  "engines": {
10417
10417
  "node": ">=8.6"
@@ -12171,9 +12171,9 @@
12171
12171
  }
12172
12172
  },
12173
12173
  "node_modules/test-exclude/node_modules/brace-expansion": {
12174
- "version": "1.1.13",
12175
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz",
12176
- "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==",
12174
+ "version": "1.1.12",
12175
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
12176
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
12177
12177
  "license": "MIT",
12178
12178
  "dependencies": {
12179
12179
  "balanced-match": "^1.0.0",
@@ -12805,9 +12805,9 @@
12805
12805
  "license": "ISC"
12806
12806
  },
12807
12807
  "node_modules/yaml": {
12808
- "version": "2.8.3",
12809
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz",
12810
- "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==",
12808
+ "version": "2.8.2",
12809
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
12810
+ "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
12811
12811
  "devOptional": true,
12812
12812
  "license": "ISC",
12813
12813
  "bin": {
@@ -10,8 +10,8 @@
10
10
  "test": "jest"
11
11
  },
12
12
  "dependencies": {
13
- "@regulaforensics/react-native-document-reader-api": "9.4.517-nightly",
14
- "@regulaforensics/react-native-document-reader-core-fullauthrfid": "9.4.2250-nightly",
13
+ "@regulaforensics/react-native-document-reader-api": "9.4.519-rc",
14
+ "@regulaforensics/react-native-document-reader-core-fullauthrfid": "9.4.2251-rc",
15
15
  "@rneui/base": "4.0.0-rc.7",
16
16
  "@rneui/themed": "4.0.0-rc.7",
17
17
  "react": "19.0.0",
package/index.d.ts CHANGED
@@ -3398,63 +3398,6 @@ export class FinalizeCompletion {
3398
3398
  }
3399
3399
  }
3400
3400
 
3401
- export class PACEProtocol {
3402
- version?: string
3403
- stdDomainParams?: string
3404
- keyAlgorithm?: string
3405
-
3406
- static fromJson(jsonObject?: any): PACEProtocol | undefined {
3407
- if (jsonObject == null || jsonObject == undefined) return undefined
3408
- const result = new PACEProtocol
3409
-
3410
- result.version = jsonObject["version"]
3411
- result.stdDomainParams = jsonObject["stdDomainParams"]
3412
- result.keyAlgorithm = jsonObject["keyAlgorithm"]
3413
-
3414
- return result
3415
- }
3416
- }
3417
-
3418
- export class CAProtocol {
3419
- version?: string
3420
- scheme?: string
3421
- keyAlgorithm?: string
3422
- chipIndividual?: boolean
3423
-
3424
- static fromJson(jsonObject?: any): CAProtocol | undefined {
3425
- if (jsonObject == null || jsonObject == undefined) return undefined
3426
- const result = new CAProtocol
3427
-
3428
- result.version = jsonObject["version"]
3429
- result.scheme = jsonObject["scheme"]
3430
- result.keyAlgorithm = jsonObject["keyAlgorithm"]
3431
- result.chipIndividual = jsonObject["chipIndividual"]
3432
-
3433
- return result
3434
- }
3435
- }
3436
-
3437
- export class RFIDConfig {
3438
- onRequestPACertificates?: boolean
3439
- onRequestTACertificates?: boolean
3440
- onRequestTASignature?: boolean
3441
- onRequestPACEProtocol?: boolean
3442
- onRequestCAProtocol?: boolean
3443
-
3444
- static fromJson(jsonObject?: any): RFIDConfig | undefined {
3445
- if (jsonObject == null || jsonObject == undefined) return undefined
3446
- const result = new RFIDConfig
3447
-
3448
- result.onRequestPACertificates = jsonObject["onRequestPACertificates"]
3449
- result.onRequestTACertificates = jsonObject["onRequestTACertificates"]
3450
- result.onRequestTASignature = jsonObject["onRequestTASignature"]
3451
- result.onRequestPACEProtocol = jsonObject["onRequestPACEProtocol"]
3452
- result.onRequestCAProtocol = jsonObject["onRequestCAProtocol"]
3453
-
3454
- return result
3455
- }
3456
- }
3457
-
3458
3401
  export const FontStyle = {
3459
3402
  NORMAL: 0,
3460
3403
  BOLD: 1,
@@ -6171,14 +6114,12 @@ export default class DocumentReader {
6171
6114
  static recognize(config: RecognizeConfig, successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6172
6115
  static startNewPage(successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6173
6116
  static stopScanner(successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6174
- static startRFIDReader(config: RFIDConfig | null, successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6175
- static readRFID(config: RFIDConfig | null, successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6117
+ static startRFIDReader(requestPACertificates: boolean, requestTACertificates: boolean, requestTASignature: boolean, successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6118
+ static readRFID(requestPACertificates: boolean, requestTACertificates: boolean, requestTASignature: boolean, successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6176
6119
  static stopRFIDReader(successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6177
6120
  static providePACertificates(certificates: PKDCertificate[] | null, successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6178
6121
  static provideTACertificates(certificates: PKDCertificate[] | null, successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6179
6122
  static provideTASignature(signature: string, successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6180
- static selectPACEProtocol(protocol: PACEProtocol, successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6181
- static selectCAProtocol(protocol: CAProtocol, successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6182
6123
  static setTCCParams(params: TccParams, successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6183
6124
  static addPKDCertificates(certificates: PKDCertificate[], successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
6184
6125
  static clearPKDCertificates(successCallback: (response: string) => void, errorCallback?: (error: string) => void): void
package/index.js CHANGED
@@ -2205,48 +2205,6 @@ export class FinalizeCompletion {
2205
2205
  }
2206
2206
  }
2207
2207
 
2208
- export class PACEProtocol {
2209
- static fromJson(jsonObject) {
2210
- if (jsonObject == null) return null
2211
- const result = new PACEProtocol()
2212
-
2213
- result.version = jsonObject["version"]
2214
- result.stdDomainParams = jsonObject["stdDomainParams"]
2215
- result.keyAlgorithm = jsonObject["keyAlgorithm"]
2216
-
2217
- return result
2218
- }
2219
- }
2220
-
2221
- export class CAProtocol {
2222
- static fromJson(jsonObject) {
2223
- if (jsonObject == null) return null
2224
- const result = new CAProtocol()
2225
-
2226
- result.version = jsonObject["version"]
2227
- result.scheme = jsonObject["scheme"]
2228
- result.keyAlgorithm = jsonObject["keyAlgorithm"]
2229
- result.chipIndividual = jsonObject["chipIndividual"]
2230
-
2231
- return result
2232
- }
2233
- }
2234
-
2235
- export class RFIDConfig {
2236
- static fromJson(jsonObject) {
2237
- if (jsonObject == null) return null
2238
- const result = new RFIDConfig()
2239
-
2240
- result.onRequestPACertificates = jsonObject["onRequestPACertificates"]
2241
- result.onRequestTACertificates = jsonObject["onRequestTACertificates"]
2242
- result.onRequestTASignature = jsonObject["onRequestTASignature"]
2243
- result.onRequestPACEProtocol = jsonObject["onRequestPACEProtocol"]
2244
- result.onRequestCAProtocol = jsonObject["onRequestCAProtocol"]
2245
-
2246
- return result
2247
- }
2248
- }
2249
-
2250
2208
  // Enum
2251
2209
 
2252
2210
  export const FontStyle = {
@@ -4966,14 +4924,12 @@ DocumentReader.startScanner = (config, successCallback, errorCallback) => RNRegu
4966
4924
  DocumentReader.recognize = (config, successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "recognize", [config], successCallback, errorCallback)
4967
4925
  DocumentReader.startNewPage = (successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "startNewPage", [], successCallback, errorCallback)
4968
4926
  DocumentReader.stopScanner = (successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "stopScanner", [], successCallback, errorCallback)
4969
- DocumentReader.startRFIDReader = (config, successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "startRFIDReader", [config], successCallback, errorCallback)
4970
- DocumentReader.readRFID = (config, successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "readRFID", [config], successCallback, errorCallback)
4927
+ DocumentReader.startRFIDReader = (requestPACertificates, requestTACertificates, requestTASignature, successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "startRFIDReader", [requestPACertificates, requestTACertificates, requestTASignature], successCallback, errorCallback)
4928
+ DocumentReader.readRFID = (requestPACertificates, requestTACertificates, requestTASignature, successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "readRFID", [requestPACertificates, requestTACertificates, requestTASignature], successCallback, errorCallback)
4971
4929
  DocumentReader.stopRFIDReader = (successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "stopRFIDReader", [], successCallback, errorCallback)
4972
4930
  DocumentReader.providePACertificates = (certificates, successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "providePACertificates", [certificates], successCallback, errorCallback)
4973
4931
  DocumentReader.provideTACertificates = (certificates, successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "provideTACertificates", [certificates], successCallback, errorCallback)
4974
4932
  DocumentReader.provideTASignature = (signature, successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "provideTASignature", [signature], successCallback, errorCallback)
4975
- DocumentReader.selectPACEProtocol = (protocol, successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "selectPACEProtocol", [protocol], successCallback, errorCallback)
4976
- DocumentReader.selectCAProtocol = (protocol, successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "selectCAProtocol", [protocol], successCallback, errorCallback)
4977
4933
  DocumentReader.setTCCParams = (params, successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "setTCCParams", [params], successCallback, errorCallback)
4978
4934
  DocumentReader.addPKDCertificates = (certificates, successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "addPKDCertificates", [certificates], successCallback, errorCallback)
4979
4935
  DocumentReader.clearPKDCertificates = (successCallback, errorCallback) => RNRegulaDocumentReader.exec("DocumentReader", "clearPKDCertificates", [], successCallback, errorCallback)
@@ -198,10 +198,6 @@
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;
205
201
 
206
202
  @end
207
203
 
@@ -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,52 +2648,6 @@ 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
-
2697
2651
  +(RGLDocumentReaderResults*)documentReaderResultsFromJson:(NSDictionary*)input {
2698
2652
  NSMutableArray<RGLDocumentReaderDocumentType*>* documentType = [NSMutableArray new];
2699
2653
  for(NSDictionary* item in [input valueForKey:@"documentType"]){
@@ -2717,26 +2671,26 @@ static NSMutableArray* weakReferencesHolder;
2717
2671
  }
2718
2672
 
2719
2673
  RGLDocumentReaderResults* result = [[RGLDocumentReaderResults alloc]
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"]]];
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"]]];
2740
2694
 
2741
2695
  [result setValue:[RGLWJSONConstructor base64Decode:input[@"dtcData"]] forKey:@"dtcData"];
2742
2696
  [result setValue:input[@"bsiTr03135Results"] forKey:@"bsiTr03135Results"];
package/ios/RGLWMain.h CHANGED
@@ -18,6 +18,10 @@ 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
+
21
25
  @end
22
26
 
23
27
  static NSString* _Nonnull completionEvent = @"completion";
@@ -28,7 +32,5 @@ static NSString* _Nonnull rfidOnRetryReadChipEvent = @"rfidOnRetryReadChipEvent"
28
32
  static NSString* _Nonnull paCertificateCompletionEvent = @"pa_certificate_completion";
29
33
  static NSString* _Nonnull taCertificateCompletionEvent = @"ta_certificate_completion";
30
34
  static NSString* _Nonnull taSignatureCompletionEvent = @"ta_signature_completion";
31
- static NSString* _Nonnull paceProtocolCompletionEvent = @"paceProtocolCompletionEvent";
32
- static NSString* _Nonnull caProtocolCompletionEvent = @"caProtocolCompletionEvent";
33
35
  static NSString* _Nonnull drVideoEncoderCompletionEvent = @"video_encoder_completion";
34
36
  static NSString* _Nonnull drOnCustomButtonTappedEvent = @"onCustomButtonTappedEvent";
package/ios/RGLWMain.m CHANGED
@@ -41,14 +41,12 @@
41
41
  @"recognize": ^{ [self recognize :args[0]]; },
42
42
  @"startNewPage": ^{ [self startNewPage]; },
43
43
  @"stopScanner": ^{ [self stopScanner]; },
44
- @"startRFIDReader": ^{ [self startRFIDReader :args[0]]; },
45
- @"readRFID": ^{ [self readRFID :args[0]]; },
44
+ @"startRFIDReader": ^{ [self startRFIDReader :args[0] :args[1] :args[2]]; },
45
+ @"readRFID": ^{ [self readRFID :args[0] :args[1] :args[2]]; },
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]]; },
52
50
  @"setTCCParams": ^{ [self setTCCParams :args[0] :callback]; },
53
51
  @"addPKDCertificates": ^{ [self addPKDCertificates :args[0]]; },
54
52
  @"clearPKDCertificates": ^{ [self clearPKDCertificates]; },
@@ -251,15 +249,19 @@ static NSDictionary* headers;
251
249
  });
252
250
  }
253
251
 
254
- +(void)startRFIDReader:(NSDictionary*)config {
255
- rfidReaderRequest = config;
252
+ +(void)startRFIDReader:(NSNumber*)paCert :(NSNumber*)taCert :(NSNumber*)taSig {
253
+ this.doRequestPACertificates = paCert;
254
+ this.doRequestTACertificates = taCert;
255
+ this.doRequestTASignature = taSig;
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:(NSDictionary*)config {
262
- rfidReaderRequest = config;
261
+ +(void)readRFID:(NSNumber*)paCert :(NSNumber*)taCert :(NSNumber*)taSig {
262
+ this.doRequestPACertificates = paCert;
263
+ this.doRequestTACertificates = taCert;
264
+ this.doRequestTASignature = taSig;
263
265
  [RGLDocReader.shared readRFID:^(RGLRFIDNotificationAction notificationAction, RGLRFIDNotify* _Nullable notification) {
264
266
  if (notification != nil) sendEvent(rfidOnProgressEvent, [RGLWJSONConstructor generateDocumentReaderNotification:notification]);
265
267
  } completion :^(RGLRFIDCompleteAction action, RGLDocumentReaderResults * _Nullable results, NSError * _Nullable error, RGLRFIDErrorCodes errorCode) {
@@ -289,14 +291,6 @@ static NSDictionary* headers;
289
291
  taSignatureCompletion([RGLWJSONConstructor base64Decode:signature]);
290
292
  }
291
293
 
292
- +(void)selectPACEProtocol:(NSDictionary*)protocol {
293
- paceProtocolCompletion([RGLWJSONConstructor paceProtocolFromJson:protocol]);
294
- }
295
-
296
- +(void)selectCAProtocol:(NSDictionary*)protocol {
297
- caProtocolCompletion([RGLWJSONConstructor caProtocolFromJson:protocol]);
298
- }
299
-
300
294
  +(void)setTCCParams:(NSDictionary*)params :(RGLWCallback)callback {
301
295
  [RGLDocReader.shared setTCCParams:[RGLWJSONConstructor tccParamsFromJson:params] completion:^(BOOL success, NSError * _Nullable error) {
302
296
  callback([RGLWJSONConstructor generateSuccessCompletion:success :error]);
@@ -632,13 +626,9 @@ RGLWCallback savedCallbackForBluetoothResult;
632
626
  RGLRFIDCertificatesCallback paCertificateCompletion;
633
627
  RGLRFIDCertificatesCallback taCertificateCompletion;
634
628
  RGLWRFIDSignatureCallback taSignatureCompletion;
635
- RGLRFIDAccessControlPACECallback paceProtocolCompletion;
636
- RGLRFIDAccessControlCACallback caProtocolCompletion;
637
-
638
- NSDictionary* rfidReaderRequest;
639
629
 
640
630
  - (void)onRequestPACertificatesWithSerial:(NSData *)serialNumber issuer:(RGLPAResourcesIssuer *)issuer callback:(RGLRFIDCertificatesCallback)callback {
641
- if (rfidReaderRequest && [rfidReaderRequest[@"paCertificates"] boolValue]) {
631
+ if([self.doRequestPACertificates boolValue]) {
642
632
  paCertificateCompletion = callback;
643
633
  sendEvent(paCertificateCompletionEvent, [RGLWJSONConstructor generatePACertificateCompletion:serialNumber :issuer]);
644
634
  } else {
@@ -648,7 +638,7 @@ NSDictionary* rfidReaderRequest;
648
638
  }
649
639
 
650
640
  - (void)onRequestTACertificatesWithKey:(NSString *)keyCAR callback:(RGLRFIDCertificatesCallback)callback {
651
- if (rfidReaderRequest && [rfidReaderRequest[@"taCertificates"] boolValue]) {
641
+ if([self.doRequestTACertificates boolValue]) {
652
642
  taCertificateCompletion = callback;
653
643
  sendEvent(taCertificateCompletionEvent, keyCAR);
654
644
  } else {
@@ -658,7 +648,7 @@ NSDictionary* rfidReaderRequest;
658
648
  }
659
649
 
660
650
  - (void)onRequestTASignatureWithChallenge:(RGLTAChallenge *)challenge callback:(void(^)(NSData *signature))callback {
661
- if (rfidReaderRequest && [rfidReaderRequest[@"taSignature"] boolValue]) {
651
+ if([self.doRequestTASignature boolValue]) {
662
652
  taSignatureCompletion = callback;
663
653
  sendEvent(taSignatureCompletionEvent, [RGLWJSONConstructor dictToString: [RGLWJSONConstructor generateTAChallenge:challenge]]);
664
654
  } else {
@@ -667,32 +657,6 @@ NSDictionary* rfidReaderRequest;
667
657
  }
668
658
  }
669
659
 
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
-
696
660
  - (void)didChipConnected {
697
661
  sendEvent(rfidOnChipDetectedEvent, @"");
698
662
  }
@@ -15,8 +15,6 @@ RCT_EXPORT_MODULE();
15
15
  paCertificateCompletionEvent,
16
16
  taCertificateCompletionEvent,
17
17
  taSignatureCompletionEvent,
18
- paceProtocolCompletionEvent,
19
- caProtocolCompletionEvent,
20
18
  drVideoEncoderCompletionEvent,
21
19
  drOnCustomButtonTappedEvent];
22
20
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@regulaforensics/react-native-document-reader-api",
3
- "version": "9.4.517-nightly",
3
+ "version": "9.4.519-rc",
4
4
  "description": "React Native module for reading and validation of identification documents (API framework)",
5
5
  "main": "index.js",
6
6
  "scripts": {