@regulaforensics/cordova-plugin-document-reader-api 9.4.486-rc → 9.4.488-nightly
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.
- package/example/package.json +2 -2
- package/example/www/js/index.js +2 -2
- package/package.json +1 -1
- package/plugin.xml +2 -2
- package/src/android/JSONConstructor.kt +36 -0
- package/src/android/Main.kt +46 -43
- package/src/android/build.gradle +2 -2
- package/src/ios/RGLWJSONConstructor.h +4 -0
- package/src/ios/RGLWJSONConstructor.m +93 -47
- package/src/ios/RGLWMain.h +2 -4
- package/src/ios/RGLWMain.m +49 -13
- package/www/DocumentReader.js +49 -2
package/example/package.json
CHANGED
|
@@ -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.
|
|
17
|
-
"@regulaforensics/cordova-plugin-document-reader-core-fullauthrfid": "9.4.
|
|
16
|
+
"@regulaforensics/cordova-plugin-document-reader-api": "9.4.488-nightly",
|
|
17
|
+
"@regulaforensics/cordova-plugin-document-reader-core-fullauthrfid": "9.4.2256-nightly",
|
|
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/example/www/js/index.js
CHANGED
|
@@ -166,12 +166,12 @@ var app = {
|
|
|
166
166
|
|
|
167
167
|
function customRFID() {
|
|
168
168
|
showRfidUI()
|
|
169
|
-
DocumentReader.readRFID(
|
|
169
|
+
DocumentReader.readRFID(null, function (m) { handleRfidCompletion(m) }, function (e) { })
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
function usualRFID() {
|
|
173
173
|
isReadingRfid = true
|
|
174
|
-
DocumentReader.startRFIDReader(
|
|
174
|
+
DocumentReader.startRFIDReader(null, function (m) { handleRfidCompletion(m) }, function (e) { })
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
function handleRfidCompletion(raw) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@regulaforensics/cordova-plugin-document-reader-api",
|
|
3
|
-
"version": "9.4.
|
|
3
|
+
"version": "9.4.488-nightly",
|
|
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.
|
|
2
|
+
<plugin id="@regulaforensics/cordova-plugin-document-reader-api" version="9.4.488-nightly" 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="
|
|
32
|
+
<pod name="DocumentReaderNightly" spec="9.4.6185" />
|
|
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
|
+
}
|
package/src/android/Main.kt
CHANGED
|
@@ -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.
|
|
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(
|
|
88
|
-
"readRFID" -> readRFID(
|
|
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(
|
|
257
|
+
fun startRFIDReader(config: JSONObject?) {
|
|
252
258
|
stopBackgroundRFID()
|
|
253
|
-
|
|
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(
|
|
262
|
-
|
|
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
|
-
|
|
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
|
-
|
|
566
|
+
if (config.getBoolean("taCertificates")) result.setTACertificates { keyCAR, completion ->
|
|
559
567
|
taCertificateCompletion = completion
|
|
560
568
|
sendEvent(taCertificateCompletionEvent, keyCAR)
|
|
561
569
|
}
|
|
562
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
}
|
package/src/android/build.gradle
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
repositories {
|
|
2
2
|
maven {
|
|
3
|
-
url "https://maven.regulaforensics.com/RegulaDocumentReader/
|
|
3
|
+
url "https://maven.regulaforensics.com/RegulaDocumentReader/Nightly"
|
|
4
4
|
}
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
dependencies {
|
|
8
8
|
//noinspection GradleDependency
|
|
9
|
-
implementation ('com.regula.documentreader:api:9.4.
|
|
9
|
+
implementation ('com.regula.documentreader:api:9.4.12714'){
|
|
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
|
-
|
|
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
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
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"];
|
package/src/ios/RGLWMain.h
CHANGED
|
@@ -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";
|
package/src/ios/RGLWMain.m
CHANGED
|
@@ -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]
|
|
45
|
-
@"readRFID": ^{ [self readRFID :args[0]
|
|
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:(
|
|
253
|
-
|
|
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:(
|
|
262
|
-
|
|
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([
|
|
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([
|
|
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([
|
|
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
|
}
|
package/www/DocumentReader.js
CHANGED
|
@@ -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 = (
|
|
4853
|
-
DocumentReader.readRFID = (
|
|
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
|