@trustchex/react-native-sdk 1.161.0
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/LICENSE +49 -0
- package/README.md +223 -0
- package/TrustchexSDK.podspec +26 -0
- package/android/build.gradle +103 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +11 -0
- package/android/src/main/java/com/trustchex/reactnativesdk/TrustchexSDKModule.kt +40 -0
- package/android/src/main/java/com/trustchex/reactnativesdk/TrustchexSDKPackage.kt +61 -0
- package/android/src/main/java/com/trustchex/reactnativesdk/visioncameraplugins/barcodescanner/BarcodeScannerFrameProcessorPlugin.kt +301 -0
- package/android/src/main/java/com/trustchex/reactnativesdk/visioncameraplugins/cropper/BitmapUtils.kt +205 -0
- package/android/src/main/java/com/trustchex/reactnativesdk/visioncameraplugins/cropper/CropperPlugin.kt +72 -0
- package/android/src/main/java/com/trustchex/reactnativesdk/visioncameraplugins/cropper/FrameMetadata.kt +4 -0
- package/android/src/main/java/com/trustchex/reactnativesdk/visioncameraplugins/facedetector/FaceDetectorFrameProcessorPlugin.kt +303 -0
- package/android/src/main/java/com/trustchex/reactnativesdk/visioncameraplugins/textrecognition/TextRecognitionFrameProcessorPlugin.kt +115 -0
- package/ios/TrustchexSDK.h +5 -0
- package/ios/TrustchexSDK.mm +28 -0
- package/ios/VisionCameraPlugins/BarcodeScanner/BarcodeScannerFrameProcessorPlugin.mm +22 -0
- package/ios/VisionCameraPlugins/BarcodeScanner/BarcodeScannerFrameProcessorPlugin.swift +172 -0
- package/ios/VisionCameraPlugins/Cropper/Cropper-Bridging-Header.h +13 -0
- package/ios/VisionCameraPlugins/Cropper/Cropper.h +20 -0
- package/ios/VisionCameraPlugins/Cropper/Cropper.mm +22 -0
- package/ios/VisionCameraPlugins/Cropper/Cropper.swift +145 -0
- package/ios/VisionCameraPlugins/Cropper/CropperUtils.swift +49 -0
- package/ios/VisionCameraPlugins/FaceDetector/FaceDetectorFrameProcessorPlugin-Bridging-Header.h +4 -0
- package/ios/VisionCameraPlugins/FaceDetector/FaceDetectorFrameProcessorPlugin.mm +22 -0
- package/ios/VisionCameraPlugins/FaceDetector/FaceDetectorFrameProcessorPlugin.swift +320 -0
- package/ios/VisionCameraPlugins/TextRecognition/TextRecognitionFrameProcessorPlugin-Bridging-Header.h +4 -0
- package/ios/VisionCameraPlugins/TextRecognition/TextRecognitionFrameProcessorPlugin.mm +27 -0
- package/ios/VisionCameraPlugins/TextRecognition/TextRecognitionFrameProcessorPlugin.swift +144 -0
- package/lib/module/NativeTrustchexSDK.js +4 -0
- package/lib/module/Screens/Dynamic/ContractAcceptanceScreen.js +141 -0
- package/lib/module/Screens/Dynamic/IdentityDocumentEIDScanningScreen.js +140 -0
- package/lib/module/Screens/Dynamic/IdentityDocumentScanningScreen.js +100 -0
- package/lib/module/Screens/Dynamic/LivenessDetectionScreen.js +596 -0
- package/lib/module/Screens/Static/QrCodeScanningScreen.js +36 -0
- package/lib/module/Screens/Static/ResultScreen.js +627 -0
- package/lib/module/Screens/Static/VerificationSessionCheckScreen.js +381 -0
- package/lib/module/Shared/Animations/face-scan.json +1 -0
- package/lib/module/Shared/Animations/hole.json +76 -0
- package/lib/module/Shared/Animations/hologram-scan.json +1 -0
- package/lib/module/Shared/Animations/id-or-passport.json +1 -0
- package/lib/module/Shared/Animations/light.json +1 -0
- package/lib/module/Shared/Animations/loading.json +1 -0
- package/lib/module/Shared/Animations/nfc-scan.json +1 -0
- package/lib/module/Shared/Animations/nfc.json +1 -0
- package/lib/module/Shared/Animations/scanning.json +1 -0
- package/lib/module/Shared/Animations/success.json +1 -0
- package/lib/module/Shared/Assets/trustchex-logo-black.png +0 -0
- package/lib/module/Shared/Components/EIDScanner.js +372 -0
- package/lib/module/Shared/Components/FaceCamera.js +223 -0
- package/lib/module/Shared/Components/IdentityDocumentCamera.js +968 -0
- package/lib/module/Shared/Components/LanguageSelector.js +53 -0
- package/lib/module/Shared/Components/NativeCircularProgress.js +64 -0
- package/lib/module/Shared/Components/NativeProgressBar.js +53 -0
- package/lib/module/Shared/Components/NavigationManager.js +180 -0
- package/lib/module/Shared/Components/OTPCodeInput.js +74 -0
- package/lib/module/Shared/Components/QrCodeScannerCamera.js +262 -0
- package/lib/module/Shared/Contexts/AppContext.js +27 -0
- package/lib/module/Shared/EIDReader/abstractMRTDCardService.js +4 -0
- package/lib/module/Shared/EIDReader/accessKeySpec.js +1 -0
- package/lib/module/Shared/EIDReader/apduLevelBACCapable.js +1 -0
- package/lib/module/Shared/EIDReader/apduLevelReadBinaryCapable.js +3 -0
- package/lib/module/Shared/EIDReader/bacKey.js +112 -0
- package/lib/module/Shared/EIDReader/bacKeySpec.js +3 -0
- package/lib/module/Shared/EIDReader/cardFileInputStream.js +140 -0
- package/lib/module/Shared/EIDReader/cardService.js +31 -0
- package/lib/module/Shared/EIDReader/cbeff/biometricDataBlock.js +3 -0
- package/lib/module/Shared/EIDReader/cbeff/biometricDataBlockDecoder.js +3 -0
- package/lib/module/Shared/EIDReader/cbeff/biometricDataBlockEncoder.js +3 -0
- package/lib/module/Shared/EIDReader/cbeff/cbeffInfo.js +102 -0
- package/lib/module/Shared/EIDReader/cbeff/complexCBEFFInfo.js +46 -0
- package/lib/module/Shared/EIDReader/cbeff/faceDataBlockDecoder.js +8 -0
- package/lib/module/Shared/EIDReader/cbeff/iso781611.js +79 -0
- package/lib/module/Shared/EIDReader/cbeff/iso781611Decoder.js +141 -0
- package/lib/module/Shared/EIDReader/cbeff/iso781611Encoder.js +53 -0
- package/lib/module/Shared/EIDReader/cbeff/simpleCBEFFInfo.js +21 -0
- package/lib/module/Shared/EIDReader/cbeff/standardBiometricHeader.js +97 -0
- package/lib/module/Shared/EIDReader/cert/cvcPrincipal.js +48 -0
- package/lib/module/Shared/EIDReader/data/country.js +66 -0
- package/lib/module/Shared/EIDReader/data/gender.js +29 -0
- package/lib/module/Shared/EIDReader/data/isoCountry.js +283 -0
- package/lib/module/Shared/EIDReader/data/unicodeCountry.js +278 -0
- package/lib/module/Shared/EIDReader/defaultFileInfo.js +29 -0
- package/lib/module/Shared/EIDReader/defaultFileSystem.js +171 -0
- package/lib/module/Shared/EIDReader/eidReader.js +90 -0
- package/lib/module/Shared/EIDReader/eidService.js +280 -0
- package/lib/module/Shared/EIDReader/fileInfo.js +3 -0
- package/lib/module/Shared/EIDReader/fileSystemCardService.js +4 -0
- package/lib/module/Shared/EIDReader/fragment.js +17 -0
- package/lib/module/Shared/EIDReader/fragmentBuffer.js +130 -0
- package/lib/module/Shared/EIDReader/java/byteArrayInputStream.js +73 -0
- package/lib/module/Shared/EIDReader/java/byteArrayOutputStream.js +55 -0
- package/lib/module/Shared/EIDReader/java/dataInput.js +1 -0
- package/lib/module/Shared/EIDReader/java/dataInputStream.js +167 -0
- package/lib/module/Shared/EIDReader/java/dataOutputStream.js +91 -0
- package/lib/module/Shared/EIDReader/java/filterInputStream.js +134 -0
- package/lib/module/Shared/EIDReader/java/filterOutputStream.js +124 -0
- package/lib/module/Shared/EIDReader/java/inputStream.js +139 -0
- package/lib/module/Shared/EIDReader/java/inputStreamBuffer.js +144 -0
- package/lib/module/Shared/EIDReader/java/objectInputStream.js +39 -0
- package/lib/module/Shared/EIDReader/java/outputStream.js +77 -0
- package/lib/module/Shared/EIDReader/java/positionInputStream.js +50 -0
- package/lib/module/Shared/EIDReader/java/splittableInputStream.js +54 -0
- package/lib/module/Shared/EIDReader/lds/abstractImageInfo.js +137 -0
- package/lib/module/Shared/EIDReader/lds/abstractLDSFile.js +101 -0
- package/lib/module/Shared/EIDReader/lds/abstractLDSInfo.js +29 -0
- package/lib/module/Shared/EIDReader/lds/abstractListInfo.js +66 -0
- package/lib/module/Shared/EIDReader/lds/abstractTaggedLDSFile.js +65 -0
- package/lib/module/Shared/EIDReader/lds/cbeffDataGroup.js +118 -0
- package/lib/module/Shared/EIDReader/lds/cvcaFile.js +89 -0
- package/lib/module/Shared/EIDReader/lds/dataGroup.js +10 -0
- package/lib/module/Shared/EIDReader/lds/icao/comFile.js +101 -0
- package/lib/module/Shared/EIDReader/lds/icao/dg1File.js +33 -0
- package/lib/module/Shared/EIDReader/lds/icao/dg2File.js +42 -0
- package/lib/module/Shared/EIDReader/lds/icao/icaoCountry.js +114 -0
- package/lib/module/Shared/EIDReader/lds/icao/mrzInfo.js +1418 -0
- package/lib/module/Shared/EIDReader/lds/imageInfo.js +3 -0
- package/lib/module/Shared/EIDReader/lds/iso19794/faceImageInfo.js +817 -0
- package/lib/module/Shared/EIDReader/lds/iso19794/faceInfo.js +116 -0
- package/lib/module/Shared/EIDReader/lds/ldsElement.js +1 -0
- package/lib/module/Shared/EIDReader/lds/ldsFile.js +3 -0
- package/lib/module/Shared/EIDReader/nfcManagerCardService.js +44 -0
- package/lib/module/Shared/EIDReader/protocol/bacAPDUSender.js +83 -0
- package/lib/module/Shared/EIDReader/protocol/bacProtocol.js +70 -0
- package/lib/module/Shared/EIDReader/protocol/bacResult.js +32 -0
- package/lib/module/Shared/EIDReader/protocol/readBinaryAPDUSender.js +126 -0
- package/lib/module/Shared/EIDReader/protocol/secureMessagingAPDUSender.js +102 -0
- package/lib/module/Shared/EIDReader/secureMessagingWrapper.js +218 -0
- package/lib/module/Shared/EIDReader/smartcards/apduEvent.js +23 -0
- package/lib/module/Shared/EIDReader/smartcards/apduListener.js +3 -0
- package/lib/module/Shared/EIDReader/smartcards/apduWrapper.js +3 -0
- package/lib/module/Shared/EIDReader/smartcards/commandAPDU.js +124 -0
- package/lib/module/Shared/EIDReader/smartcards/fileSystemStructured.js +3 -0
- package/lib/module/Shared/EIDReader/smartcards/iso7816.js +107 -0
- package/lib/module/Shared/EIDReader/smartcards/responseAPDU.js +35 -0
- package/lib/module/Shared/EIDReader/tlv/asn1Constants.js +48 -0
- package/lib/module/Shared/EIDReader/tlv/tlv.utils.js +186 -0
- package/lib/module/Shared/EIDReader/tlv/tlvInputState.js +141 -0
- package/lib/module/Shared/EIDReader/tlv/tlvInputStream.js +180 -0
- package/lib/module/Shared/EIDReader/tlv/tlvOutputState.js +186 -0
- package/lib/module/Shared/EIDReader/tlv/tlvOutputStream.js +85 -0
- package/lib/module/Shared/EIDReader/tripleDesSecureMessagingWrapper.js +37 -0
- package/lib/module/Shared/EIDReader/utils/crypto.utils.js +218 -0
- package/lib/module/Shared/EIDReader/utils/random.js +166 -0
- package/lib/module/Shared/EIDReader/wrappedAPDUEvent.js +16 -0
- package/lib/module/Shared/Libs/camera.utils.js +32 -0
- package/lib/module/Shared/Libs/contains.js +40 -0
- package/lib/module/Shared/Libs/crypto.utils.js +35 -0
- package/lib/module/Shared/Libs/debounce.utils.js +35 -0
- package/lib/module/Shared/Libs/deeplink.utils.js +20 -0
- package/lib/module/Shared/Libs/demo.utils.js +57 -0
- package/lib/module/Shared/Libs/http-client.js +104 -0
- package/lib/module/Shared/Libs/mrz.utils.js +99 -0
- package/lib/module/Shared/Libs/native-device-info.utils.js +44 -0
- package/lib/module/Shared/Libs/native-keep-awake.utils.js +85 -0
- package/lib/module/Shared/Libs/opencv.utils.js +21 -0
- package/lib/module/Shared/Libs/promise.utils.js +17 -0
- package/lib/module/Shared/Libs/tts.utils.js +31 -0
- package/lib/module/Shared/Types/identificationInfo.js +3 -0
- package/lib/module/Shared/Types/instruction.js +1 -0
- package/lib/module/Shared/Types/livenessIntructionType.js +1 -0
- package/lib/module/Shared/Types/verificationSession.js +3 -0
- package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/components/BarcodeCamera.js +66 -0
- package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useBarcodeScanner.js +46 -0
- package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useCameraPermissions.js +34 -0
- package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/index.js +21 -0
- package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/scanCodes.js +24 -0
- package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/types.js +3 -0
- package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/utils/convert.js +197 -0
- package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/utils/geometry.js +101 -0
- package/lib/module/Shared/VisionCameraPlugins/BarcodeScanner/utils/highlights.js +60 -0
- package/lib/module/Shared/VisionCameraPlugins/Cropper/index.js +47 -0
- package/lib/module/Shared/VisionCameraPlugins/FaceDetector/Camera.js +42 -0
- package/lib/module/Shared/VisionCameraPlugins/FaceDetector/detectFaces.js +35 -0
- package/lib/module/Shared/VisionCameraPlugins/FaceDetector/index.js +4 -0
- package/lib/module/Shared/VisionCameraPlugins/FaceDetector/types.js +3 -0
- package/lib/module/Shared/VisionCameraPlugins/TextRecognition/Camera.js +56 -0
- package/lib/module/Shared/VisionCameraPlugins/TextRecognition/PhotoRecognizer.js +20 -0
- package/lib/module/Shared/VisionCameraPlugins/TextRecognition/RemoveLanguageModel.js +9 -0
- package/lib/module/Shared/VisionCameraPlugins/TextRecognition/index.js +6 -0
- package/lib/module/Shared/VisionCameraPlugins/TextRecognition/scanText.js +20 -0
- package/lib/module/Shared/VisionCameraPlugins/TextRecognition/translateText.js +19 -0
- package/lib/module/Shared/VisionCameraPlugins/TextRecognition/types.js +3 -0
- package/lib/module/Translation/Resources/en.js +109 -0
- package/lib/module/Translation/Resources/index.js +4 -0
- package/lib/module/Translation/Resources/tr.js +112 -0
- package/lib/module/Translation/index.js +27 -0
- package/lib/module/Trustchex.js +149 -0
- package/lib/module/index.js +5 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/NativeTrustchexSDK.d.ts +8 -0
- package/lib/typescript/src/NativeTrustchexSDK.d.ts.map +1 -0
- package/lib/typescript/src/Screens/Dynamic/ContractAcceptanceScreen.d.ts +3 -0
- package/lib/typescript/src/Screens/Dynamic/ContractAcceptanceScreen.d.ts.map +1 -0
- package/lib/typescript/src/Screens/Dynamic/IdentityDocumentEIDScanningScreen.d.ts +3 -0
- package/lib/typescript/src/Screens/Dynamic/IdentityDocumentEIDScanningScreen.d.ts.map +1 -0
- package/lib/typescript/src/Screens/Dynamic/IdentityDocumentScanningScreen.d.ts +3 -0
- package/lib/typescript/src/Screens/Dynamic/IdentityDocumentScanningScreen.d.ts.map +1 -0
- package/lib/typescript/src/Screens/Dynamic/LivenessDetectionScreen.d.ts +3 -0
- package/lib/typescript/src/Screens/Dynamic/LivenessDetectionScreen.d.ts.map +1 -0
- package/lib/typescript/src/Screens/Static/QrCodeScanningScreen.d.ts +3 -0
- package/lib/typescript/src/Screens/Static/QrCodeScanningScreen.d.ts.map +1 -0
- package/lib/typescript/src/Screens/Static/ResultScreen.d.ts +3 -0
- package/lib/typescript/src/Screens/Static/ResultScreen.d.ts.map +1 -0
- package/lib/typescript/src/Screens/Static/VerificationSessionCheckScreen.d.ts +3 -0
- package/lib/typescript/src/Screens/Static/VerificationSessionCheckScreen.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Components/EIDScanner.d.ts +12 -0
- package/lib/typescript/src/Shared/Components/EIDScanner.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Components/FaceCamera.d.ts +9 -0
- package/lib/typescript/src/Shared/Components/FaceCamera.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Components/IdentityDocumentCamera.d.ts +58 -0
- package/lib/typescript/src/Shared/Components/IdentityDocumentCamera.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Components/LanguageSelector.d.ts +3 -0
- package/lib/typescript/src/Shared/Components/LanguageSelector.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Components/NativeCircularProgress.d.ts +13 -0
- package/lib/typescript/src/Shared/Components/NativeCircularProgress.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Components/NativeProgressBar.d.ts +12 -0
- package/lib/typescript/src/Shared/Components/NativeProgressBar.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Components/NavigationManager.d.ts +11 -0
- package/lib/typescript/src/Shared/Components/NavigationManager.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Components/OTPCodeInput.d.ts +10 -0
- package/lib/typescript/src/Shared/Components/OTPCodeInput.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Components/QrCodeScannerCamera.d.ts +6 -0
- package/lib/typescript/src/Shared/Components/QrCodeScannerCamera.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Contexts/AppContext.d.ts +20 -0
- package/lib/typescript/src/Shared/Contexts/AppContext.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/abstractMRTDCardService.d.ts +50 -0
- package/lib/typescript/src/Shared/EIDReader/abstractMRTDCardService.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/accessKeySpec.d.ts +16 -0
- package/lib/typescript/src/Shared/EIDReader/accessKeySpec.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/apduLevelBACCapable.d.ts +5 -0
- package/lib/typescript/src/Shared/EIDReader/apduLevelBACCapable.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/apduLevelReadBinaryCapable.d.ts +8 -0
- package/lib/typescript/src/Shared/EIDReader/apduLevelReadBinaryCapable.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/bacKey.d.ts +65 -0
- package/lib/typescript/src/Shared/EIDReader/bacKey.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/bacKeySpec.d.ts +24 -0
- package/lib/typescript/src/Shared/EIDReader/bacKeySpec.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cardFileInputStream.d.ts +26 -0
- package/lib/typescript/src/Shared/EIDReader/cardFileInputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cardService.d.ts +22 -0
- package/lib/typescript/src/Shared/EIDReader/cardService.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/biometricDataBlock.d.ts +5 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/biometricDataBlock.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/biometricDataBlockDecoder.d.ts +7 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/biometricDataBlockDecoder.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/biometricDataBlockEncoder.d.ts +6 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/biometricDataBlockEncoder.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/cbeffInfo.d.ts +61 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/cbeffInfo.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/complexCBEFFInfo.d.ts +33 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/complexCBEFFInfo.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/faceDataBlockDecoder.d.ts +8 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/faceDataBlockDecoder.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/iso781611.d.ts +60 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/iso781611.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/iso781611Decoder.d.ts +19 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/iso781611Decoder.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/iso781611Encoder.d.ts +15 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/iso781611Encoder.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/simpleCBEFFInfo.d.ts +18 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/simpleCBEFFInfo.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/standardBiometricHeader.d.ts +43 -0
- package/lib/typescript/src/Shared/EIDReader/cbeff/standardBiometricHeader.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/cert/cvcPrincipal.d.ts +14 -0
- package/lib/typescript/src/Shared/EIDReader/cert/cvcPrincipal.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/data/country.d.ts +14 -0
- package/lib/typescript/src/Shared/EIDReader/data/country.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/data/gender.d.ts +14 -0
- package/lib/typescript/src/Shared/EIDReader/data/gender.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/data/isoCountry.d.ts +268 -0
- package/lib/typescript/src/Shared/EIDReader/data/isoCountry.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/data/unicodeCountry.d.ts +263 -0
- package/lib/typescript/src/Shared/EIDReader/data/unicodeCountry.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/defaultFileInfo.d.ts +14 -0
- package/lib/typescript/src/Shared/EIDReader/defaultFileInfo.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/defaultFileSystem.d.ts +30 -0
- package/lib/typescript/src/Shared/EIDReader/defaultFileSystem.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/eidReader.d.ts +8 -0
- package/lib/typescript/src/Shared/EIDReader/eidReader.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/eidService.d.ts +150 -0
- package/lib/typescript/src/Shared/EIDReader/eidService.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/fileInfo.d.ts +5 -0
- package/lib/typescript/src/Shared/EIDReader/fileInfo.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/fileSystemCardService.d.ts +28 -0
- package/lib/typescript/src/Shared/EIDReader/fileSystemCardService.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/fragment.d.ts +9 -0
- package/lib/typescript/src/Shared/EIDReader/fragment.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/fragmentBuffer.d.ts +22 -0
- package/lib/typescript/src/Shared/EIDReader/fragmentBuffer.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/java/byteArrayInputStream.d.ts +22 -0
- package/lib/typescript/src/Shared/EIDReader/java/byteArrayInputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/java/byteArrayOutputStream.d.ts +18 -0
- package/lib/typescript/src/Shared/EIDReader/java/byteArrayOutputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/java/dataInput.d.ts +17 -0
- package/lib/typescript/src/Shared/EIDReader/java/dataInput.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/java/dataInputStream.d.ts +28 -0
- package/lib/typescript/src/Shared/EIDReader/java/dataInputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/java/dataOutputStream.d.ts +18 -0
- package/lib/typescript/src/Shared/EIDReader/java/dataOutputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/java/filterInputStream.d.ts +103 -0
- package/lib/typescript/src/Shared/EIDReader/java/filterInputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/java/filterOutputStream.d.ts +83 -0
- package/lib/typescript/src/Shared/EIDReader/java/filterOutputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/java/inputStream.d.ts +21 -0
- package/lib/typescript/src/Shared/EIDReader/java/inputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/java/inputStreamBuffer.d.ts +32 -0
- package/lib/typescript/src/Shared/EIDReader/java/inputStreamBuffer.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/java/objectInputStream.d.ts +11 -0
- package/lib/typescript/src/Shared/EIDReader/java/objectInputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/java/outputStream.d.ts +64 -0
- package/lib/typescript/src/Shared/EIDReader/java/outputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/java/positionInputStream.d.ts +17 -0
- package/lib/typescript/src/Shared/EIDReader/java/positionInputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/java/splittableInputStream.d.ts +19 -0
- package/lib/typescript/src/Shared/EIDReader/java/splittableInputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/abstractImageInfo.d.ts +50 -0
- package/lib/typescript/src/Shared/EIDReader/lds/abstractImageInfo.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/abstractLDSFile.d.ts +71 -0
- package/lib/typescript/src/Shared/EIDReader/lds/abstractLDSFile.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/abstractLDSInfo.d.ts +19 -0
- package/lib/typescript/src/Shared/EIDReader/lds/abstractLDSInfo.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/abstractListInfo.d.ts +45 -0
- package/lib/typescript/src/Shared/EIDReader/lds/abstractListInfo.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/abstractTaggedLDSFile.d.ts +18 -0
- package/lib/typescript/src/Shared/EIDReader/lds/abstractTaggedLDSFile.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/cbeffDataGroup.d.ts +59 -0
- package/lib/typescript/src/Shared/EIDReader/lds/cbeffDataGroup.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/cvcaFile.d.ts +19 -0
- package/lib/typescript/src/Shared/EIDReader/lds/cvcaFile.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/dataGroup.d.ts +8 -0
- package/lib/typescript/src/Shared/EIDReader/lds/dataGroup.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/icao/comFile.d.ts +22 -0
- package/lib/typescript/src/Shared/EIDReader/lds/icao/comFile.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/icao/dg1File.d.ts +13 -0
- package/lib/typescript/src/Shared/EIDReader/lds/icao/dg1File.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/icao/dg2File.d.ts +14 -0
- package/lib/typescript/src/Shared/EIDReader/lds/icao/dg2File.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/icao/icaoCountry.d.ts +80 -0
- package/lib/typescript/src/Shared/EIDReader/lds/icao/icaoCountry.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/icao/mrzInfo.d.ts +579 -0
- package/lib/typescript/src/Shared/EIDReader/lds/icao/mrzInfo.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/imageInfo.d.ts +52 -0
- package/lib/typescript/src/Shared/EIDReader/lds/imageInfo.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/iso19794/faceImageInfo.d.ts +392 -0
- package/lib/typescript/src/Shared/EIDReader/lds/iso19794/faceImageInfo.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/iso19794/faceInfo.d.ts +22 -0
- package/lib/typescript/src/Shared/EIDReader/lds/iso19794/faceInfo.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/ldsElement.d.ts +9 -0
- package/lib/typescript/src/Shared/EIDReader/lds/ldsElement.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/lds/ldsFile.d.ts +10 -0
- package/lib/typescript/src/Shared/EIDReader/lds/ldsFile.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/nfcManagerCardService.d.ts +13 -0
- package/lib/typescript/src/Shared/EIDReader/nfcManagerCardService.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/protocol/bacAPDUSender.d.ts +9 -0
- package/lib/typescript/src/Shared/EIDReader/protocol/bacAPDUSender.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/protocol/bacProtocol.d.ts +17 -0
- package/lib/typescript/src/Shared/EIDReader/protocol/bacProtocol.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/protocol/bacResult.d.ts +26 -0
- package/lib/typescript/src/Shared/EIDReader/protocol/bacResult.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/protocol/readBinaryAPDUSender.d.ts +15 -0
- package/lib/typescript/src/Shared/EIDReader/protocol/readBinaryAPDUSender.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/protocol/secureMessagingAPDUSender.d.ts +19 -0
- package/lib/typescript/src/Shared/EIDReader/protocol/secureMessagingAPDUSender.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/secureMessagingWrapper.d.ts +30 -0
- package/lib/typescript/src/Shared/EIDReader/secureMessagingWrapper.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/apduEvent.d.ts +15 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/apduEvent.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/apduListener.d.ts +5 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/apduListener.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/apduWrapper.d.ts +8 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/apduWrapper.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/commandAPDU.d.ts +20 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/commandAPDU.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/fileSystemStructured.d.ts +7 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/fileSystemStructured.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/iso7816.d.ts +101 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/iso7816.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/responseAPDU.d.ts +13 -0
- package/lib/typescript/src/Shared/EIDReader/smartcards/responseAPDU.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/tlv/asn1Constants.d.ts +36 -0
- package/lib/typescript/src/Shared/EIDReader/tlv/asn1Constants.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/tlv/tlv.utils.d.ts +44 -0
- package/lib/typescript/src/Shared/EIDReader/tlv/tlv.utils.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/tlv/tlvInputState.d.ts +34 -0
- package/lib/typescript/src/Shared/EIDReader/tlv/tlvInputState.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/tlv/tlvInputStream.d.ts +23 -0
- package/lib/typescript/src/Shared/EIDReader/tlv/tlvInputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/tlv/tlvOutputState.d.ts +24 -0
- package/lib/typescript/src/Shared/EIDReader/tlv/tlvOutputState.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/tlv/tlvOutputStream.d.ts +16 -0
- package/lib/typescript/src/Shared/EIDReader/tlv/tlvOutputStream.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/tripleDesSecureMessagingWrapper.d.ts +10 -0
- package/lib/typescript/src/Shared/EIDReader/tripleDesSecureMessagingWrapper.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/utils/crypto.utils.d.ts +16 -0
- package/lib/typescript/src/Shared/EIDReader/utils/crypto.utils.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/utils/random.d.ts +25 -0
- package/lib/typescript/src/Shared/EIDReader/utils/random.d.ts.map +1 -0
- package/lib/typescript/src/Shared/EIDReader/wrappedAPDUEvent.d.ts +11 -0
- package/lib/typescript/src/Shared/EIDReader/wrappedAPDUEvent.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Libs/camera.utils.d.ts +5 -0
- package/lib/typescript/src/Shared/Libs/camera.utils.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Libs/contains.d.ts +14 -0
- package/lib/typescript/src/Shared/Libs/contains.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Libs/crypto.utils.d.ts +9 -0
- package/lib/typescript/src/Shared/Libs/crypto.utils.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Libs/debounce.utils.d.ts +10 -0
- package/lib/typescript/src/Shared/Libs/debounce.utils.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Libs/deeplink.utils.d.ts +5 -0
- package/lib/typescript/src/Shared/Libs/deeplink.utils.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Libs/demo.utils.d.ts +5 -0
- package/lib/typescript/src/Shared/Libs/demo.utils.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Libs/http-client.d.ts +27 -0
- package/lib/typescript/src/Shared/Libs/http-client.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Libs/mrz.utils.d.ts +9 -0
- package/lib/typescript/src/Shared/Libs/mrz.utils.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Libs/native-device-info.utils.d.ts +14 -0
- package/lib/typescript/src/Shared/Libs/native-device-info.utils.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Libs/native-keep-awake.utils.d.ts +31 -0
- package/lib/typescript/src/Shared/Libs/native-keep-awake.utils.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Libs/opencv.utils.d.ts +3 -0
- package/lib/typescript/src/Shared/Libs/opencv.utils.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Libs/promise.utils.d.ts +3 -0
- package/lib/typescript/src/Shared/Libs/promise.utils.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Libs/tts.utils.d.ts +6 -0
- package/lib/typescript/src/Shared/Libs/tts.utils.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Types/identificationInfo.d.ts +57 -0
- package/lib/typescript/src/Shared/Types/identificationInfo.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Types/instruction.d.ts +5 -0
- package/lib/typescript/src/Shared/Types/instruction.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Types/livenessIntructionType.d.ts +2 -0
- package/lib/typescript/src/Shared/Types/livenessIntructionType.d.ts.map +1 -0
- package/lib/typescript/src/Shared/Types/verificationSession.d.ts +16 -0
- package/lib/typescript/src/Shared/Types/verificationSession.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/components/BarcodeCamera.d.ts +13 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/components/BarcodeCamera.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useBarcodeScanner.d.ts +13 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useBarcodeScanner.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useCameraPermissions.d.ts +6 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useCameraPermissions.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/index.d.ts +14 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/index.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/scanCodes.d.ts +3 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/scanCodes.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/types.d.ts +52 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/types.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/convert.d.ts +62 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/convert.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/geometry.d.ts +34 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/geometry.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/highlights.d.ts +32 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/highlights.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/Cropper/index.d.ts +23 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/Cropper/index.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/Camera.d.ts +9 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/Camera.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/detectFaces.d.ts +3 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/detectFaces.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/index.d.ts +3 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/index.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/types.d.ts +79 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/FaceDetector/types.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/Camera.d.ts +6 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/Camera.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/PhotoRecognizer.d.ts +3 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/PhotoRecognizer.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/RemoveLanguageModel.d.ts +3 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/RemoveLanguageModel.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/index.d.ts +5 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/index.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/scanText.d.ts +3 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/scanText.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/translateText.d.ts +3 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/translateText.d.ts.map +1 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/types.d.ts +67 -0
- package/lib/typescript/src/Shared/VisionCameraPlugins/TextRecognition/types.d.ts.map +1 -0
- package/lib/typescript/src/Translation/Resources/en.d.ts +109 -0
- package/lib/typescript/src/Translation/Resources/en.d.ts.map +1 -0
- package/lib/typescript/src/Translation/Resources/index.d.ts +3 -0
- package/lib/typescript/src/Translation/Resources/index.d.ts.map +1 -0
- package/lib/typescript/src/Translation/Resources/tr.d.ts +112 -0
- package/lib/typescript/src/Translation/Resources/tr.d.ts.map +1 -0
- package/lib/typescript/src/Translation/index.d.ts +3 -0
- package/lib/typescript/src/Translation/index.d.ts.map +1 -0
- package/lib/typescript/src/Trustchex.d.ts +18 -0
- package/lib/typescript/src/Trustchex.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +4 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/package.json +288 -0
- package/src/NativeTrustchexSDK.ts +9 -0
- package/src/Screens/Dynamic/ContractAcceptanceScreen.tsx +165 -0
- package/src/Screens/Dynamic/IdentityDocumentEIDScanningScreen.tsx +205 -0
- package/src/Screens/Dynamic/IdentityDocumentScanningScreen.tsx +152 -0
- package/src/Screens/Dynamic/LivenessDetectionScreen.tsx +699 -0
- package/src/Screens/Static/QrCodeScanningScreen.tsx +37 -0
- package/src/Screens/Static/ResultScreen.tsx +877 -0
- package/src/Screens/Static/VerificationSessionCheckScreen.tsx +524 -0
- package/src/Shared/Animations/face-scan.json +1 -0
- package/src/Shared/Animations/hole.json +76 -0
- package/src/Shared/Animations/hologram-scan.json +1 -0
- package/src/Shared/Animations/id-or-passport.json +1 -0
- package/src/Shared/Animations/light.json +1 -0
- package/src/Shared/Animations/loading.json +1 -0
- package/src/Shared/Animations/nfc-scan.json +1 -0
- package/src/Shared/Animations/nfc.json +1 -0
- package/src/Shared/Animations/scanning.json +1 -0
- package/src/Shared/Animations/success.json +1 -0
- package/src/Shared/Assets/trustchex-logo-black.png +0 -0
- package/src/Shared/Components/EIDScanner.tsx +472 -0
- package/src/Shared/Components/FaceCamera.tsx +267 -0
- package/src/Shared/Components/IdentityDocumentCamera.tsx +1377 -0
- package/src/Shared/Components/LanguageSelector.tsx +62 -0
- package/src/Shared/Components/NativeCircularProgress.tsx +76 -0
- package/src/Shared/Components/NativeProgressBar.tsx +74 -0
- package/src/Shared/Components/NavigationManager.tsx +275 -0
- package/src/Shared/Components/OTPCodeInput.tsx +93 -0
- package/src/Shared/Components/QrCodeScannerCamera.tsx +306 -0
- package/src/Shared/Contexts/AppContext.ts +47 -0
- package/src/Shared/EIDReader/abstractMRTDCardService.ts +195 -0
- package/src/Shared/EIDReader/accessKeySpec.ts +16 -0
- package/src/Shared/EIDReader/apduLevelBACCapable.ts +10 -0
- package/src/Shared/EIDReader/apduLevelReadBinaryCapable.ts +15 -0
- package/src/Shared/EIDReader/bacKey.ts +132 -0
- package/src/Shared/EIDReader/bacKeySpec.ts +26 -0
- package/src/Shared/EIDReader/cardFileInputStream.ts +188 -0
- package/src/Shared/EIDReader/cardService.ts +51 -0
- package/src/Shared/EIDReader/cbeff/biometricDataBlock.ts +5 -0
- package/src/Shared/EIDReader/cbeff/biometricDataBlockDecoder.ts +12 -0
- package/src/Shared/EIDReader/cbeff/biometricDataBlockEncoder.ts +6 -0
- package/src/Shared/EIDReader/cbeff/cbeffInfo.ts +100 -0
- package/src/Shared/EIDReader/cbeff/complexCBEFFInfo.ts +48 -0
- package/src/Shared/EIDReader/cbeff/faceDataBlockDecoder.ts +17 -0
- package/src/Shared/EIDReader/cbeff/iso781611.ts +79 -0
- package/src/Shared/EIDReader/cbeff/iso781611Decoder.ts +242 -0
- package/src/Shared/EIDReader/cbeff/iso781611Encoder.ts +91 -0
- package/src/Shared/EIDReader/cbeff/simpleCBEFFInfo.ts +26 -0
- package/src/Shared/EIDReader/cbeff/standardBiometricHeader.ts +116 -0
- package/src/Shared/EIDReader/cert/cvcPrincipal.ts +63 -0
- package/src/Shared/EIDReader/data/country.ts +76 -0
- package/src/Shared/EIDReader/data/gender.ts +36 -0
- package/src/Shared/EIDReader/data/isoCountry.ts +1251 -0
- package/src/Shared/EIDReader/data/unicodeCountry.ts +1516 -0
- package/src/Shared/EIDReader/defaultFileInfo.ts +41 -0
- package/src/Shared/EIDReader/defaultFileSystem.ts +287 -0
- package/src/Shared/EIDReader/eidReader.ts +113 -0
- package/src/Shared/EIDReader/eidService.ts +349 -0
- package/src/Shared/EIDReader/fileInfo.ts +5 -0
- package/src/Shared/EIDReader/fileSystemCardService.ts +32 -0
- package/src/Shared/EIDReader/fragment.ts +21 -0
- package/src/Shared/EIDReader/fragmentBuffer.ts +191 -0
- package/src/Shared/EIDReader/java/byteArrayInputStream.ts +103 -0
- package/src/Shared/EIDReader/java/byteArrayOutputStream.ts +67 -0
- package/src/Shared/EIDReader/java/dataInput.ts +16 -0
- package/src/Shared/EIDReader/java/dataInputStream.ts +203 -0
- package/src/Shared/EIDReader/java/dataOutputStream.ts +107 -0
- package/src/Shared/EIDReader/java/filterInputStream.ts +138 -0
- package/src/Shared/EIDReader/java/filterOutputStream.ts +126 -0
- package/src/Shared/EIDReader/java/inputStream.ts +186 -0
- package/src/Shared/EIDReader/java/inputStreamBuffer.ts +200 -0
- package/src/Shared/EIDReader/java/objectInputStream.ts +45 -0
- package/src/Shared/EIDReader/java/outputStream.ts +76 -0
- package/src/Shared/EIDReader/java/positionInputStream.ts +64 -0
- package/src/Shared/EIDReader/java/splittableInputStream.ts +69 -0
- package/src/Shared/EIDReader/lds/abstractImageInfo.ts +191 -0
- package/src/Shared/EIDReader/lds/abstractLDSFile.ts +106 -0
- package/src/Shared/EIDReader/lds/abstractLDSInfo.ts +31 -0
- package/src/Shared/EIDReader/lds/abstractListInfo.ts +72 -0
- package/src/Shared/EIDReader/lds/abstractTaggedLDSFile.ts +85 -0
- package/src/Shared/EIDReader/lds/cbeffDataGroup.ts +128 -0
- package/src/Shared/EIDReader/lds/cvcaFile.ts +112 -0
- package/src/Shared/EIDReader/lds/dataGroup.ts +11 -0
- package/src/Shared/EIDReader/lds/icao/comFile.ts +166 -0
- package/src/Shared/EIDReader/lds/icao/dg1File.ts +45 -0
- package/src/Shared/EIDReader/lds/icao/dg2File.ts +54 -0
- package/src/Shared/EIDReader/lds/icao/icaoCountry.ts +253 -0
- package/src/Shared/EIDReader/lds/icao/mrzInfo.ts +1669 -0
- package/src/Shared/EIDReader/lds/imageInfo.ts +58 -0
- package/src/Shared/EIDReader/lds/iso19794/faceImageInfo.ts +948 -0
- package/src/Shared/EIDReader/lds/iso19794/faceInfo.ts +198 -0
- package/src/Shared/EIDReader/lds/ldsElement.ts +8 -0
- package/src/Shared/EIDReader/lds/ldsFile.ts +14 -0
- package/src/Shared/EIDReader/nfcManagerCardService.ts +58 -0
- package/src/Shared/EIDReader/protocol/bacAPDUSender.ts +146 -0
- package/src/Shared/EIDReader/protocol/bacProtocol.ts +121 -0
- package/src/Shared/EIDReader/protocol/bacResult.ts +36 -0
- package/src/Shared/EIDReader/protocol/readBinaryAPDUSender.ts +251 -0
- package/src/Shared/EIDReader/protocol/secureMessagingAPDUSender.ts +170 -0
- package/src/Shared/EIDReader/secureMessagingWrapper.ts +361 -0
- package/src/Shared/EIDReader/smartcards/apduEvent.ts +38 -0
- package/src/Shared/EIDReader/smartcards/apduListener.ts +5 -0
- package/src/Shared/EIDReader/smartcards/apduWrapper.ts +10 -0
- package/src/Shared/EIDReader/smartcards/commandAPDU.ts +172 -0
- package/src/Shared/EIDReader/smartcards/fileSystemStructured.ts +7 -0
- package/src/Shared/EIDReader/smartcards/iso7816.ts +104 -0
- package/src/Shared/EIDReader/smartcards/responseAPDU.ts +44 -0
- package/src/Shared/EIDReader/tlv/asn1Constants.ts +46 -0
- package/src/Shared/EIDReader/tlv/tlv.utils.ts +201 -0
- package/src/Shared/EIDReader/tlv/tlvInputState.ts +186 -0
- package/src/Shared/EIDReader/tlv/tlvInputStream.ts +207 -0
- package/src/Shared/EIDReader/tlv/tlvOutputState.ts +244 -0
- package/src/Shared/EIDReader/tlv/tlvOutputStream.ts +112 -0
- package/src/Shared/EIDReader/tripleDesSecureMessagingWrapper.ts +48 -0
- package/src/Shared/EIDReader/utils/crypto.utils.ts +273 -0
- package/src/Shared/EIDReader/utils/random.ts +198 -0
- package/src/Shared/EIDReader/wrappedAPDUEvent.ts +36 -0
- package/src/Shared/Libs/camera.utils.ts +34 -0
- package/src/Shared/Libs/contains.ts +59 -0
- package/src/Shared/Libs/crypto.utils.ts +47 -0
- package/src/Shared/Libs/debounce.utils.ts +38 -0
- package/src/Shared/Libs/deeplink.utils.ts +19 -0
- package/src/Shared/Libs/demo.utils.ts +82 -0
- package/src/Shared/Libs/http-client.ts +148 -0
- package/src/Shared/Libs/mrz.utils.ts +110 -0
- package/src/Shared/Libs/native-device-info.utils.ts +50 -0
- package/src/Shared/Libs/native-keep-awake.utils.ts +104 -0
- package/src/Shared/Libs/opencv.utils.ts +40 -0
- package/src/Shared/Libs/promise.utils.ts +20 -0
- package/src/Shared/Libs/tts.utils.ts +40 -0
- package/src/Shared/Types/identificationInfo.ts +62 -0
- package/src/Shared/Types/instruction.ts +4 -0
- package/src/Shared/Types/livenessIntructionType.ts +8 -0
- package/src/Shared/Types/verificationSession.ts +17 -0
- package/src/Shared/VisionCameraPlugins/BarcodeScanner/components/BarcodeCamera.tsx +85 -0
- package/src/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useBarcodeScanner.ts +79 -0
- package/src/Shared/VisionCameraPlugins/BarcodeScanner/hooks/useCameraPermissions.ts +45 -0
- package/src/Shared/VisionCameraPlugins/BarcodeScanner/index.ts +64 -0
- package/src/Shared/VisionCameraPlugins/BarcodeScanner/scanCodes.ts +30 -0
- package/src/Shared/VisionCameraPlugins/BarcodeScanner/types.ts +82 -0
- package/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/convert.ts +195 -0
- package/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/geometry.ts +135 -0
- package/src/Shared/VisionCameraPlugins/BarcodeScanner/utils/highlights.ts +84 -0
- package/src/Shared/VisionCameraPlugins/Cropper/index.ts +78 -0
- package/src/Shared/VisionCameraPlugins/FaceDetector/Camera.tsx +63 -0
- package/src/Shared/VisionCameraPlugins/FaceDetector/detectFaces.ts +44 -0
- package/src/Shared/VisionCameraPlugins/FaceDetector/index.ts +3 -0
- package/src/Shared/VisionCameraPlugins/FaceDetector/types.ts +99 -0
- package/src/Shared/VisionCameraPlugins/TextRecognition/Camera.tsx +76 -0
- package/src/Shared/VisionCameraPlugins/TextRecognition/PhotoRecognizer.ts +18 -0
- package/src/Shared/VisionCameraPlugins/TextRecognition/RemoveLanguageModel.ts +7 -0
- package/src/Shared/VisionCameraPlugins/TextRecognition/index.ts +7 -0
- package/src/Shared/VisionCameraPlugins/TextRecognition/scanText.ts +27 -0
- package/src/Shared/VisionCameraPlugins/TextRecognition/translateText.ts +21 -0
- package/src/Shared/VisionCameraPlugins/TextRecognition/types.ts +141 -0
- package/src/Translation/Resources/en.ts +151 -0
- package/src/Translation/Resources/index.ts +2 -0
- package/src/Translation/Resources/tr.ts +152 -0
- package/src/Translation/index.ts +37 -0
- package/src/Trustchex.tsx +171 -0
- package/src/index.tsx +5 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { FileInfo } from "./fileInfo.js";
|
|
4
|
+
import { FragmentBuffer } from "./fragmentBuffer.js";
|
|
5
|
+
export class DefaultFileInfo extends FileInfo {
|
|
6
|
+
constructor(fid, length) {
|
|
7
|
+
super();
|
|
8
|
+
this.fid = fid;
|
|
9
|
+
this.buffer = new FragmentBuffer(length);
|
|
10
|
+
}
|
|
11
|
+
getBuffer() {
|
|
12
|
+
return this.buffer.getBuffer();
|
|
13
|
+
}
|
|
14
|
+
getFID() {
|
|
15
|
+
return this.fid;
|
|
16
|
+
}
|
|
17
|
+
getFileLength() {
|
|
18
|
+
return this.buffer.getLength();
|
|
19
|
+
}
|
|
20
|
+
toString() {
|
|
21
|
+
return this.fid.toString(16);
|
|
22
|
+
}
|
|
23
|
+
getSmallestUnbufferedFragment(offset, length) {
|
|
24
|
+
return this.buffer.getSmallestUnbufferedFragment(offset, length);
|
|
25
|
+
}
|
|
26
|
+
addFragment(offset, bytes) {
|
|
27
|
+
this.buffer.addFragmentBytes(offset, bytes);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { EIDService } from "./eidService.js";
|
|
4
|
+
import { ByteArrayInputStream } from "./java/byteArrayInputStream.js";
|
|
5
|
+
import { DefaultFileInfo } from "./defaultFileInfo.js";
|
|
6
|
+
import { ISO7816_SW } from "./smartcards/iso7816.js";
|
|
7
|
+
import { SecureMessagingWrapper } from "./secureMessagingWrapper.js";
|
|
8
|
+
import { TripleDesSecureMessagingWrapper } from "./tripleDesSecureMessagingWrapper.js";
|
|
9
|
+
import { TLVInputStream } from "./tlv/tlvInputStream.js";
|
|
10
|
+
import { CVCAFile } from "./lds/cvcaFile.js";
|
|
11
|
+
import { Buffer } from 'buffer';
|
|
12
|
+
export class DefaultFileSystem {
|
|
13
|
+
static NO_SFI = -1;
|
|
14
|
+
static READ_AHEAD_LENGTH = 8;
|
|
15
|
+
constructor(service, isSFIEnabled, fidToSFI = new Map()) {
|
|
16
|
+
this.service = service;
|
|
17
|
+
this.fileInfos = new Map();
|
|
18
|
+
this.selectedFID = 0;
|
|
19
|
+
this.isSelected = false;
|
|
20
|
+
this.isSFIEnabled = isSFIEnabled;
|
|
21
|
+
this.fidToSFI = fidToSFI;
|
|
22
|
+
this.maxReadBinaryLength = EIDService.EXTENDED_MAX_TRANSCEIVE_LENGTH;
|
|
23
|
+
}
|
|
24
|
+
setWrapper(wrapper) {
|
|
25
|
+
this.oldWrapper = this.wrapper;
|
|
26
|
+
this.wrapper = wrapper;
|
|
27
|
+
}
|
|
28
|
+
getWrapper() {
|
|
29
|
+
return this.wrapper;
|
|
30
|
+
}
|
|
31
|
+
getMaxReadBinaryLength() {
|
|
32
|
+
return this.maxReadBinaryLength;
|
|
33
|
+
}
|
|
34
|
+
async getSelectedPath() {
|
|
35
|
+
const fileInfo = await this.getFileInfo();
|
|
36
|
+
if (fileInfo == null) {
|
|
37
|
+
return null;
|
|
38
|
+
} else {
|
|
39
|
+
return [fileInfo];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
selectFile(fid) {
|
|
43
|
+
if (this.selectedFID === fid) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this.selectedFID = fid;
|
|
47
|
+
this.isSelected = false;
|
|
48
|
+
}
|
|
49
|
+
async readBinary(offset, length) {
|
|
50
|
+
let fileInfo = null;
|
|
51
|
+
try {
|
|
52
|
+
if (this.selectedFID <= 0) {
|
|
53
|
+
throw new Error('No file selected');
|
|
54
|
+
}
|
|
55
|
+
fileInfo = await this.getFileInfo();
|
|
56
|
+
if (fileInfo == null) {
|
|
57
|
+
throw new Error('Could not get file info');
|
|
58
|
+
}
|
|
59
|
+
length = Math.min(length, this.maxReadBinaryLength);
|
|
60
|
+
const fragment = fileInfo.getSmallestUnbufferedFragment(offset, length);
|
|
61
|
+
let responseLength = length;
|
|
62
|
+
let bytes = null;
|
|
63
|
+
if (fragment.getLength() > 0) {
|
|
64
|
+
if (this.isSFIEnabled && offset < 256) {
|
|
65
|
+
const sfi = this.fidToSFI.get(this.selectedFID);
|
|
66
|
+
if (sfi == null) {
|
|
67
|
+
throw new Error(`Unknown FID ${this.selectedFID.toString(16)}`);
|
|
68
|
+
}
|
|
69
|
+
bytes = await this.sendReadBinary(0x80 | sfi & 0xff, fragment.getOffset(), fragment.getLength(), false);
|
|
70
|
+
this.isSelected = true;
|
|
71
|
+
} else {
|
|
72
|
+
if (!this.isSelected) {
|
|
73
|
+
await this.sendSelectFile(this.selectedFID);
|
|
74
|
+
this.isSelected = true;
|
|
75
|
+
}
|
|
76
|
+
bytes = await this.sendReadBinaryNoSFI(fragment.getOffset(), fragment.getLength(), offset > 32767);
|
|
77
|
+
}
|
|
78
|
+
if (bytes == null) {
|
|
79
|
+
throw new Error('Could not read bytes');
|
|
80
|
+
}
|
|
81
|
+
if (bytes.length > 0) {
|
|
82
|
+
fileInfo.addFragment(fragment.getOffset(), Uint8Array.from(bytes));
|
|
83
|
+
}
|
|
84
|
+
if (bytes.length < fragment.getLength()) {
|
|
85
|
+
responseLength = bytes.length;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
const buffer = fileInfo.getBuffer();
|
|
89
|
+
const result = buffer.slice(offset, offset + responseLength);
|
|
90
|
+
return result;
|
|
91
|
+
} catch (error) {
|
|
92
|
+
const sw = error.getSW();
|
|
93
|
+
if ((sw & ISO7816_SW.WRONG_LENGTH) === ISO7816_SW.WRONG_LENGTH && this.maxReadBinaryLength > EIDService.DEFAULT_MAX_BLOCKSIZE) {
|
|
94
|
+
this.wrapper = this.oldWrapper;
|
|
95
|
+
this.maxReadBinaryLength = EIDService.DEFAULT_MAX_BLOCKSIZE;
|
|
96
|
+
return new Uint8Array(0);
|
|
97
|
+
}
|
|
98
|
+
throw new Error(`Read binary failed on file ${fileInfo == null ? this.selectedFID.toString(16) : fileInfo}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
async getFileInfo() {
|
|
102
|
+
if (this.selectedFID <= 0) {
|
|
103
|
+
throw new Error('No file selected');
|
|
104
|
+
}
|
|
105
|
+
let fileInfo = this.fileInfos.get(this.selectedFID);
|
|
106
|
+
if (fileInfo != null) {
|
|
107
|
+
return fileInfo;
|
|
108
|
+
}
|
|
109
|
+
let prefix = null;
|
|
110
|
+
if (this.isSFIEnabled) {
|
|
111
|
+
const sfi = this.fidToSFI.get(this.selectedFID);
|
|
112
|
+
if (sfi == null) {
|
|
113
|
+
throw new Error(`Unknown FID ${this.selectedFID.toString(16)}`);
|
|
114
|
+
}
|
|
115
|
+
prefix = await this.sendReadBinary(0x80 | sfi & 0xff, 0, DefaultFileSystem.READ_AHEAD_LENGTH, false);
|
|
116
|
+
this.isSelected = true;
|
|
117
|
+
} else {
|
|
118
|
+
if (!this.isSelected) {
|
|
119
|
+
await this.sendSelectFile(this.selectedFID);
|
|
120
|
+
this.isSelected = true;
|
|
121
|
+
}
|
|
122
|
+
prefix = await this.sendReadBinaryNoSFI(0, DefaultFileSystem.READ_AHEAD_LENGTH, false);
|
|
123
|
+
}
|
|
124
|
+
if (prefix == null || prefix.length === 0) {
|
|
125
|
+
console.debug(`Something is wrong with prefix, prefix = ${prefix ? Buffer.from(prefix).toString('hex') : ''}`);
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
const fileLength = await this.getFileLength(this.selectedFID, DefaultFileSystem.READ_AHEAD_LENGTH, prefix);
|
|
129
|
+
if (fileLength < prefix.length) {
|
|
130
|
+
/* We got more than the file's length. Ignore trailing bytes. */
|
|
131
|
+
prefix = prefix.slice(0, fileLength);
|
|
132
|
+
}
|
|
133
|
+
fileInfo = new DefaultFileInfo(this.selectedFID, fileLength);
|
|
134
|
+
fileInfo.addFragment(0, Uint8Array.from(prefix));
|
|
135
|
+
this.fileInfos.set(this.selectedFID, fileInfo);
|
|
136
|
+
return fileInfo;
|
|
137
|
+
}
|
|
138
|
+
async sendSelectFile(fid) {
|
|
139
|
+
await this.service.sendSelectFile(this.wrapper, fid);
|
|
140
|
+
}
|
|
141
|
+
sendReadBinaryNoSFI(offset, le, isTLVEncodedOffsetNeeded) {
|
|
142
|
+
this.oldWrapper = this.wrapper instanceof SecureMessagingWrapper ? new TripleDesSecureMessagingWrapper(this.wrapper.getEncryptionKey(), this.wrapper.getMACKey(), this.wrapper.getMaxTransceiveLength(), this.wrapper.getShouldCheckMAC(), this.wrapper.getSendSequenceCounter()) : this.wrapper;
|
|
143
|
+
return this.service.sendReadBinary(this.wrapper, DefaultFileSystem.NO_SFI, offset, le, false, isTLVEncodedOffsetNeeded);
|
|
144
|
+
}
|
|
145
|
+
sendReadBinary(sfi, offset, le, isTLVEncodedOffsetNeeded) {
|
|
146
|
+
return this.service.sendReadBinary(this.wrapper, sfi, offset, le, true, isTLVEncodedOffsetNeeded);
|
|
147
|
+
}
|
|
148
|
+
async getFileLength(fid, le, prefix) {
|
|
149
|
+
if (prefix.length < le) {
|
|
150
|
+
return prefix.length;
|
|
151
|
+
}
|
|
152
|
+
const byteArrayInputStream = new ByteArrayInputStream(Buffer.from(prefix));
|
|
153
|
+
const tlvInputStream = new TLVInputStream(byteArrayInputStream);
|
|
154
|
+
try {
|
|
155
|
+
const tag = await tlvInputStream.readTag();
|
|
156
|
+
if (tag === CVCAFile.CAR_TAG) {
|
|
157
|
+
return CVCAFile.LENGTH;
|
|
158
|
+
}
|
|
159
|
+
const valueLength = await tlvInputStream.readLength();
|
|
160
|
+
const tlLength = prefix.length - byteArrayInputStream.available();
|
|
161
|
+
const fileLength = tlLength + valueLength;
|
|
162
|
+
return fileLength;
|
|
163
|
+
} finally {
|
|
164
|
+
try {
|
|
165
|
+
tlvInputStream.close();
|
|
166
|
+
} catch (ioe) {
|
|
167
|
+
console.debug('Error closing stream', ioe);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { BACKey } from "./bacKey.js";
|
|
4
|
+
import { NFCManagerCardService } from "./nfcManagerCardService.js";
|
|
5
|
+
import { EIDService } from "./eidService.js";
|
|
6
|
+
import { DG1File } from "./lds/icao/dg1File.js";
|
|
7
|
+
import { DG2File } from "./lds/icao/dg2File.js";
|
|
8
|
+
import { Buffer } from 'buffer';
|
|
9
|
+
import { InputStream } from "./java/inputStream.js";
|
|
10
|
+
const eidReader = async (documentNumber, dateOfBirth, dateOfExpiry, progressCallback) => {
|
|
11
|
+
let progress = 0;
|
|
12
|
+
const nfcManagerCardService = new NFCManagerCardService();
|
|
13
|
+
const passportService = new EIDService(nfcManagerCardService, EIDService.NORMAL_MAX_TRANSCEIVE_LENGTH, EIDService.DEFAULT_MAX_BLOCKSIZE, false, true);
|
|
14
|
+
try {
|
|
15
|
+
await passportService.open();
|
|
16
|
+
|
|
17
|
+
// Select Applet for MRTD
|
|
18
|
+
await passportService.sendSelectApplet(false);
|
|
19
|
+
progress = 10;
|
|
20
|
+
if (progressCallback) {
|
|
21
|
+
progressCallback(progress);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Check if EF_COM is available
|
|
25
|
+
try {
|
|
26
|
+
const efComStream = passportService.getInputStream(EIDService.EF_COM);
|
|
27
|
+
await efComStream.init();
|
|
28
|
+
await efComStream.read();
|
|
29
|
+
} catch (error) {
|
|
30
|
+
// EF_COM not available -> try to do BAC
|
|
31
|
+
const bacKey = new BACKey(documentNumber, dateOfBirth, dateOfExpiry);
|
|
32
|
+
await passportService.doBAC(bacKey);
|
|
33
|
+
}
|
|
34
|
+
progress = 20;
|
|
35
|
+
if (progressCallback) {
|
|
36
|
+
progressCallback(progress);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Read DG1 (MRZ Info)
|
|
40
|
+
const dg1InputStream = passportService.getInputStream(EIDService.EF_DG1);
|
|
41
|
+
await dg1InputStream.init();
|
|
42
|
+
const dg1File = new DG1File(undefined, dg1InputStream);
|
|
43
|
+
const mrzInfo = await dg1File.getMRZInfo();
|
|
44
|
+
progress = 30;
|
|
45
|
+
if (progressCallback) {
|
|
46
|
+
progressCallback(progress);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Read DG2 (Face Image)
|
|
50
|
+
const dg2InputStream = passportService.getInputStream(EIDService.EF_DG2);
|
|
51
|
+
await dg2InputStream.init();
|
|
52
|
+
InputStream.onRead((totalBytesRead, fileLength) => {
|
|
53
|
+
progress = 30 + totalBytesRead / fileLength * 70;
|
|
54
|
+
if (progressCallback) {
|
|
55
|
+
progressCallback(progress);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
const dg2File = new DG2File([], dg2InputStream);
|
|
59
|
+
let imageAsBase64 = '';
|
|
60
|
+
let mimeType = '';
|
|
61
|
+
const allFaceImageInfos = [];
|
|
62
|
+
const faceInfos = await dg2File.getFaceInfos();
|
|
63
|
+
for (let faceInfo of faceInfos) {
|
|
64
|
+
allFaceImageInfos.push(...faceInfo.getFaceImageInfos());
|
|
65
|
+
}
|
|
66
|
+
if (allFaceImageInfos?.length > 0) {
|
|
67
|
+
const faceImageInfo = allFaceImageInfos[0];
|
|
68
|
+
const imageLength = faceImageInfo.getImageLength();
|
|
69
|
+
const imageInputStream = await faceImageInfo.getImageInputStream();
|
|
70
|
+
const buffer = Buffer.alloc(imageLength);
|
|
71
|
+
await imageInputStream.readBytesWithOffset(buffer, 0, imageLength);
|
|
72
|
+
imageAsBase64 = buffer.toString('base64');
|
|
73
|
+
mimeType = faceImageInfo.getMimeType();
|
|
74
|
+
}
|
|
75
|
+
progress = 100;
|
|
76
|
+
if (progressCallback) {
|
|
77
|
+
progressCallback(progress);
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
mrz: mrzInfo,
|
|
81
|
+
faceImage: imageAsBase64,
|
|
82
|
+
mimeType: mimeType
|
|
83
|
+
};
|
|
84
|
+
} catch (error) {
|
|
85
|
+
console.debug('Error reading passport data', error);
|
|
86
|
+
} finally {
|
|
87
|
+
await passportService.close();
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
export { eidReader };
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { AbstractMRTDCardService } from "./abstractMRTDCardService.js";
|
|
4
|
+
import { CardFileInputStream } from "./cardFileInputStream.js";
|
|
5
|
+
import { DefaultFileSystem } from "./defaultFileSystem.js";
|
|
6
|
+
import { BACAPDUSender } from "./protocol/bacAPDUSender.js";
|
|
7
|
+
import { ReadBinaryAPDUSender } from "./protocol/readBinaryAPDUSender.js";
|
|
8
|
+
import { BACProtocol } from "./protocol/bacProtocol.js";
|
|
9
|
+
export class EIDService extends AbstractMRTDCardService {
|
|
10
|
+
/** Shared secret type for non-PACE key. */
|
|
11
|
+
static NO_PACE_KEY_REFERENCE = 0x00;
|
|
12
|
+
|
|
13
|
+
/** Shared secret type for PACE according to BSI TR-03110 v2.03 B.11.1. */
|
|
14
|
+
static MRZ_PACE_KEY_REFERENCE = 0x01;
|
|
15
|
+
|
|
16
|
+
/** Shared secret type for PACE according to BSI TR-03110 v2.03 B.11.1. */
|
|
17
|
+
static CAN_PACE_KEY_REFERENCE = 0x02;
|
|
18
|
+
|
|
19
|
+
/** Shared secret type for PACE according to BSI TR-03110 v2.03 B.11.1. */
|
|
20
|
+
static PIN_PACE_KEY_REFERENCE = 0x03;
|
|
21
|
+
|
|
22
|
+
/** Shared secret type for PACE according to BSI TR-03110 v2.03 B.11.1. */
|
|
23
|
+
static PUK_PACE_KEY_REFERENCE = 0x04;
|
|
24
|
+
|
|
25
|
+
/** Card Access. */
|
|
26
|
+
static EF_CARD_ACCESS = 0x011c;
|
|
27
|
+
|
|
28
|
+
/** Card Security. */
|
|
29
|
+
static EF_CARD_SECURITY = 0x011d;
|
|
30
|
+
|
|
31
|
+
/** File identifier for data group 1. Data group 1 contains the MRZ. */
|
|
32
|
+
static EF_DG1 = 0x0101;
|
|
33
|
+
|
|
34
|
+
/** File identifier for data group 2. Data group 2 contains face image data. */
|
|
35
|
+
static EF_DG2 = 0x0102;
|
|
36
|
+
|
|
37
|
+
/** File identifier for data group 3. Data group 3 contains finger print data. */
|
|
38
|
+
static EF_DG3 = 0x0103;
|
|
39
|
+
|
|
40
|
+
/** File identifier for data group 4. Data group 4 contains iris data. */
|
|
41
|
+
static EF_DG4 = 0x0104;
|
|
42
|
+
|
|
43
|
+
/** File identifier for data group 5. Data group 5 contains displayed portrait. */
|
|
44
|
+
static EF_DG5 = 0x0105;
|
|
45
|
+
|
|
46
|
+
/** File identifier for data group 6. Data group 6 is RFU. */
|
|
47
|
+
static EF_DG6 = 0x0106;
|
|
48
|
+
|
|
49
|
+
/** File identifier for data group 7. Data group 7 contains displayed signature. */
|
|
50
|
+
static EF_DG7 = 0x0107;
|
|
51
|
+
|
|
52
|
+
/** File identifier for data group 8. Data group 8 contains data features. */
|
|
53
|
+
static EF_DG8 = 0x0108;
|
|
54
|
+
|
|
55
|
+
/** File identifier for data group 9. Data group 9 contains structure features. */
|
|
56
|
+
static EF_DG9 = 0x0109;
|
|
57
|
+
|
|
58
|
+
/** File identifier for data group 10. Data group 10 contains substance features. */
|
|
59
|
+
static EF_DG10 = 0x010a;
|
|
60
|
+
|
|
61
|
+
/** File identifier for data group 11. Data group 11 contains additional personal details. */
|
|
62
|
+
static EF_DG11 = 0x010b;
|
|
63
|
+
|
|
64
|
+
/** File identifier for data group 12. Data group 12 contains additional document details. */
|
|
65
|
+
static EF_DG12 = 0x010c;
|
|
66
|
+
|
|
67
|
+
/** File identifier for data group 13. Data group 13 contains optional details. */
|
|
68
|
+
static EF_DG13 = 0x010d;
|
|
69
|
+
|
|
70
|
+
/** File identifier for data group 14. Data group 14 contains security infos. */
|
|
71
|
+
static EF_DG14 = 0x010e;
|
|
72
|
+
|
|
73
|
+
/** File identifier for data group 15. Data group 15 contains the public key used for Active Authentication. */
|
|
74
|
+
static EF_DG15 = 0x010f;
|
|
75
|
+
|
|
76
|
+
/** File identifier for data group 16. Data group 16 contains person(s) to notify. */
|
|
77
|
+
static EF_DG16 = 0x0110;
|
|
78
|
+
|
|
79
|
+
/** The security document. */
|
|
80
|
+
static EF_SOD = 0x011d;
|
|
81
|
+
|
|
82
|
+
/** The data group presence list. */
|
|
83
|
+
static EF_COM = 0x011e;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Contains EAC CVA references. Note: this can be overridden by a file
|
|
87
|
+
* identifier in the DG14 file (in a TerminalAuthenticationInfo). Check DG14
|
|
88
|
+
* first. Also, this file does not have a header tag, like the others.
|
|
89
|
+
*/
|
|
90
|
+
static EF_CVCA = 0x011c;
|
|
91
|
+
|
|
92
|
+
/** Short file identifier for card access file. */
|
|
93
|
+
static SFI_CARD_ACCESS = 0x1c;
|
|
94
|
+
|
|
95
|
+
/** Short file identifier for card security file. */
|
|
96
|
+
static SFI_CARD_SECURITY = 0x1d;
|
|
97
|
+
|
|
98
|
+
/** Short file identifier for file. */
|
|
99
|
+
static SFI_DG1 = 0x01;
|
|
100
|
+
|
|
101
|
+
/** Short file identifier for file. */
|
|
102
|
+
static SFI_DG2 = 0x02;
|
|
103
|
+
|
|
104
|
+
/** Short file identifier for file. */
|
|
105
|
+
static SFI_DG3 = 0x03;
|
|
106
|
+
|
|
107
|
+
/** Short file identifier for file. */
|
|
108
|
+
static SFI_DG4 = 0x04;
|
|
109
|
+
|
|
110
|
+
/** Short file identifier for file. */
|
|
111
|
+
static SFI_DG5 = 0x05;
|
|
112
|
+
|
|
113
|
+
/** Short file identifier for file. */
|
|
114
|
+
static SFI_DG6 = 0x06;
|
|
115
|
+
|
|
116
|
+
/** Short file identifier for file. */
|
|
117
|
+
static SFI_DG7 = 0x07;
|
|
118
|
+
|
|
119
|
+
/** Short file identifier for file. */
|
|
120
|
+
static SFI_DG8 = 0x08;
|
|
121
|
+
|
|
122
|
+
/** Short file identifier for file. */
|
|
123
|
+
static SFI_DG9 = 0x09;
|
|
124
|
+
|
|
125
|
+
/** Short file identifier for file. */
|
|
126
|
+
static SFI_DG10 = 0x0a;
|
|
127
|
+
|
|
128
|
+
/** Short file identifier for file. */
|
|
129
|
+
static SFI_DG11 = 0x0b;
|
|
130
|
+
|
|
131
|
+
/** Short file identifier for file. */
|
|
132
|
+
static SFI_DG12 = 0x0c;
|
|
133
|
+
|
|
134
|
+
/** Short file identifier for file. */
|
|
135
|
+
static SFI_DG13 = 0x0d;
|
|
136
|
+
|
|
137
|
+
/** Short file identifier for file. */
|
|
138
|
+
static SFI_DG14 = 0x0e;
|
|
139
|
+
|
|
140
|
+
/** Short file identifier for file. */
|
|
141
|
+
static SFI_DG15 = 0x0f;
|
|
142
|
+
|
|
143
|
+
/** Short file identifier for file. */
|
|
144
|
+
static SFI_DG16 = 0x10;
|
|
145
|
+
|
|
146
|
+
/** Short file identifier for file. */
|
|
147
|
+
static SFI_COM = 0x1e;
|
|
148
|
+
|
|
149
|
+
/** Short file identifier for file. */
|
|
150
|
+
static SFI_SOD = 0x1d;
|
|
151
|
+
|
|
152
|
+
/** Short file identifier for file. */
|
|
153
|
+
static SFI_CVCA = 0x1c;
|
|
154
|
+
|
|
155
|
+
/** The default maximal blocksize used for unencrypted APDUs. */
|
|
156
|
+
static DEFAULT_MAX_BLOCKSIZE = 223;
|
|
157
|
+
|
|
158
|
+
/** The normal maximal transceive length of APDUs. */
|
|
159
|
+
static NORMAL_MAX_TRANSCEIVE_LENGTH = 256;
|
|
160
|
+
|
|
161
|
+
/** The extended maximal transceive length of APDUs. */
|
|
162
|
+
static EXTENDED_MAX_TRANSCEIVE_LENGTH = 65536;
|
|
163
|
+
|
|
164
|
+
/** The applet we select when we start a session. */
|
|
165
|
+
static APPLET_AID = Uint8Array.from([0xa0, 0x00, 0x00, 0x02, 0x47, 0x10, 0x01]);
|
|
166
|
+
wrapper = null;
|
|
167
|
+
constructor(service, maxTransceiveLengthForSecureMessaging = EIDService.NORMAL_MAX_TRANSCEIVE_LENGTH, maxBlockSize = EIDService.DEFAULT_MAX_BLOCKSIZE, isSFIEnabled = false, shouldCheckMAC = false) {
|
|
168
|
+
super();
|
|
169
|
+
this.service = service;
|
|
170
|
+
this.bacSender = new BACAPDUSender(service);
|
|
171
|
+
this.readBinarySender = new ReadBinaryAPDUSender(service);
|
|
172
|
+
this.maxTransceiveLengthForSecureMessaging = maxTransceiveLengthForSecureMessaging;
|
|
173
|
+
this.maxBlockSize = maxBlockSize;
|
|
174
|
+
this.shouldCheckMAC = shouldCheckMAC;
|
|
175
|
+
this.isAppletSelected = false;
|
|
176
|
+
this.isOpen = false;
|
|
177
|
+
this.rootFileSystem = new DefaultFileSystem(this.readBinarySender, false);
|
|
178
|
+
this.appletFileSystem = new DefaultFileSystem(this.readBinarySender, isSFIEnabled);
|
|
179
|
+
}
|
|
180
|
+
async open() {
|
|
181
|
+
if (this.getIsOpen()) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
await this.service.open();
|
|
185
|
+
this.isOpen = true;
|
|
186
|
+
}
|
|
187
|
+
async sendSelectApplet(hasPACESucceeded) {
|
|
188
|
+
if (this.isAppletSelected) {
|
|
189
|
+
console.debug('Re-selecting ICAO applet');
|
|
190
|
+
}
|
|
191
|
+
if (hasPACESucceeded) {
|
|
192
|
+
await this.readBinarySender.sendSelectApplet(this.wrapper, EIDService.APPLET_AID);
|
|
193
|
+
} else {
|
|
194
|
+
await this.readBinarySender.sendSelectApplet(null, EIDService.APPLET_AID);
|
|
195
|
+
}
|
|
196
|
+
this.isAppletSelected = true;
|
|
197
|
+
}
|
|
198
|
+
async sendSelectMF() {
|
|
199
|
+
await this.readBinarySender.sendSelectMF();
|
|
200
|
+
this.wrapper = null;
|
|
201
|
+
}
|
|
202
|
+
getIsOpen() {
|
|
203
|
+
return this.isOpen;
|
|
204
|
+
}
|
|
205
|
+
async doBAC(bacKey) {
|
|
206
|
+
const bacResult = await new BACProtocol(this.bacSender, this.maxTransceiveLengthForSecureMessaging, this.shouldCheckMAC).doBAC(bacKey);
|
|
207
|
+
this.wrapper = bacResult.getWrapper();
|
|
208
|
+
this.appletFileSystem.setWrapper(this.wrapper);
|
|
209
|
+
return bacResult;
|
|
210
|
+
}
|
|
211
|
+
async close() {
|
|
212
|
+
try {
|
|
213
|
+
await this.service.close();
|
|
214
|
+
this.wrapper = null;
|
|
215
|
+
} finally {
|
|
216
|
+
this.isOpen = false;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
getMaxTransceiveLength() {
|
|
220
|
+
return this.maxTransceiveLengthForSecureMessaging;
|
|
221
|
+
}
|
|
222
|
+
getWrapper() {
|
|
223
|
+
if (this.wrapper == null) {
|
|
224
|
+
return null;
|
|
225
|
+
}
|
|
226
|
+
const ldsSecureMessagingWrapper = this.appletFileSystem.getWrapper();
|
|
227
|
+
if (ldsSecureMessagingWrapper != null && ldsSecureMessagingWrapper.getSendSequenceCounter() > this.wrapper.getSendSequenceCounter()) {
|
|
228
|
+
this.wrapper = ldsSecureMessagingWrapper;
|
|
229
|
+
}
|
|
230
|
+
return this.wrapper;
|
|
231
|
+
}
|
|
232
|
+
transmit(commandAPDU) {
|
|
233
|
+
return this.service.transmit(commandAPDU);
|
|
234
|
+
}
|
|
235
|
+
getATR() {
|
|
236
|
+
return this.service.getATR();
|
|
237
|
+
}
|
|
238
|
+
getIsConnectionLost(error) {
|
|
239
|
+
return this.service.getIsConnectionLost(error);
|
|
240
|
+
}
|
|
241
|
+
getShouldCheckMAC() {
|
|
242
|
+
return this.shouldCheckMAC;
|
|
243
|
+
}
|
|
244
|
+
getInputStream(fid) {
|
|
245
|
+
return this.getInputStreamWithMaxBlockSize(fid, this.maxBlockSize);
|
|
246
|
+
}
|
|
247
|
+
getInputStreamWithMaxBlockSize(fid, maxBlockSize) {
|
|
248
|
+
if (!this.isAppletSelected) {
|
|
249
|
+
this.rootFileSystem.selectFile(fid);
|
|
250
|
+
return new CardFileInputStream(maxBlockSize, this.rootFileSystem);
|
|
251
|
+
} else {
|
|
252
|
+
this.appletFileSystem.selectFile(fid);
|
|
253
|
+
return new CardFileInputStream(maxBlockSize, this.appletFileSystem);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
getMaxReadBinaryLength() {
|
|
257
|
+
if (this.appletFileSystem == null) {
|
|
258
|
+
return EIDService.NORMAL_MAX_TRANSCEIVE_LENGTH;
|
|
259
|
+
}
|
|
260
|
+
return this.appletFileSystem.getMaxReadBinaryLength();
|
|
261
|
+
}
|
|
262
|
+
addAPDUListener(listener) {
|
|
263
|
+
this.service.addAPDUListener(listener);
|
|
264
|
+
}
|
|
265
|
+
removeAPDUListener(listener) {
|
|
266
|
+
this.service.removeAPDUListener(listener);
|
|
267
|
+
}
|
|
268
|
+
getAPDUListeners() {
|
|
269
|
+
return this.service.getAPDUListeners();
|
|
270
|
+
}
|
|
271
|
+
notifyExchangedAPDU(event) {
|
|
272
|
+
const apduListeners = this.getAPDUListeners();
|
|
273
|
+
if (apduListeners == null || apduListeners.size === 0) {
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
for (const apduListener of apduListeners) {
|
|
277
|
+
apduListener.exchangedAPDU(event);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export class Fragment {
|
|
4
|
+
constructor(offset, length) {
|
|
5
|
+
this.offset = offset;
|
|
6
|
+
this.length = length;
|
|
7
|
+
}
|
|
8
|
+
static getInstance(offset, length) {
|
|
9
|
+
return new Fragment(offset, length);
|
|
10
|
+
}
|
|
11
|
+
getOffset() {
|
|
12
|
+
return this.offset;
|
|
13
|
+
}
|
|
14
|
+
getLength() {
|
|
15
|
+
return this.length;
|
|
16
|
+
}
|
|
17
|
+
}
|