Quick output overview
This page is currently only available in English
Overview of Output Elements in files
All output follow the same structure, but might slightly differ depending on the output settings chosen and the type of document scanned.
The output adheres the to main ScanResult object and its types that are defined in the scanresults.ts file.
scanresults.ts
export type StringMap = {
[key: string]: string;
};
export interface MrzSettings {
AutoCleanParts: boolean;
UseCorrector: boolean;
IgnoreFillerChecksNonZero: boolean;
AllowExperimentalParsers: boolean;
AddExtendedInfo: boolean;
AddChecksInfo: boolean;
AgeTop: number;
AgeBottom: number;
TranslateIds: boolean;
OutputFormat: string;
}
export interface InvalidChar {
Char: string;
Line: number;
Offset: number;
}
export interface MrzData {
RawData: string;
Lines: string[];
WasCorrected: boolean;
CorrectedData: string;
InvalidChars: InvalidChar[];
}
export enum MrzCorrectionType {
NONE = 0,
ALPHA = 1,
ALPHA_FILLER = 2,
NUMERIC = 3,
NUMERIC_FILLER = 4,
GENDER = 5,
DOCCODE = 6,
}
export interface MrzPart {
Id: string;
Line: number;
Offset: number;
Length: number;
Corrector: MrzCorrectionType;
Raw: string;
Overlapped: boolean;
}
export type MrzPartList = MrzPart[];
export interface MrzCheckDigit {
Id: string;
Name: string;
FromData: string;
Read: string;
Calc: string;
IsValid: boolean;
}
type MrzCheckDigitList = MrzCheckDigit[];
export interface ExtendedInfoType {
Values: StringMap;
}
export enum CheckInfoState {
Failed = 0,
Success = 1,
Warning = 2,
}
export interface CheckInfoType {
Id: string;
Ok: boolean;
State: CheckInfoState;
}
export type CheckInfoList = CheckInfoType[];
export enum MRZType {
UNKNOWN = 0,
TD = 1,
TD1 = 2,
TD2 = 3,
TD3 = 4,
EUDL = 5,
EUDL_NLD = 6,
EUDL_FRA = 7,
EUDL_IRL = 8,
FRA_NIC = 9,
BASE_2x34 = 10,
SVK_2x34 = 11,
VEHICLE = 12,
VEHICLE_FRA = 13,
VEHICLE_POL = 14,
VEHICLE_POL_2x38 = 15,
VEHICLE_POL_3x38 = 16,
DL_CHE = 17,
AUS_VISA = 18,
EUDL_HRV = 19,
EUDL_SVK = 20,
EUDL_EST = 21,
DL_CHE_FULL = 22,
VEHICLE_PAK = 23,
}
export interface ParserInfo {
Type: MRZType;
Description: string;
Name: string;
IsExperimental: boolean;
}
export interface MrzResult {
Settings: MrzSettings;
MrzData: MrzData;
Parts: MrzPartList;
Values: StringMap;
CheckDigits: MrzCheckDigitList;
IsVisa: boolean;
ExtendedDocNumber: boolean;
ExtendedInfo: ExtendedInfoType;
CheckInfo: CheckInfoList;
ParserInfo: ParserInfo;
OptDataParserUsed: string;
}
export enum LDSImageType {
ImageTypeUnknown = 0,
ImageTypeJpeg = 1, //1
ImageTypeJpeg2000 = 2, //2
ImageTypeJp2Stream = 3, //3
ImageTypeWSQ = 4, //4
}
export enum AuthStateType {
AuthStateNone = 0,
AuthStatePasses = 1,
AuthStateFailed = 2,
}
export interface AuthenticationInfo {
AuthState: AuthStateType;
Info: string;
Reason: string;
WasPerformed: boolean;
}
export enum AccessMethodType {
AccessMethodUnknown = 0,
AccessMethodPlain = 1,
AccessMethodBAC = 2,
AccessMethodPACE = 3,
AccessMethodBAP = 4,
}
export enum ChipAuthMethodType {
NONE = 0,
PACE_CAM = 1,
CA = 2,
AA = 3,
}
export interface AuthStatus {
AccessMethod: AccessMethodType;
ActiveAuthentication: AuthenticationInfo;
ChipAuthentication: AuthenticationInfo;
PassiveAuthentication: AuthenticationInfo;
ChipAuthStatus: ChipAuthMethodType;
}
export interface X509OutputInfo {
Version: string;
Serial: string;
Issuer: string;
Subject: string;
NotBefore: string;
NotAfter: string;
SignatureAlgorithm: string;
PublicKeyAlgorithm: string;
Feature: string;
}
export interface CertChainInfo {
Raw: string;
Info: X509OutputInfo;
}
export type CertChain = CertChainInfo[];
export interface DGInfoItem {
Num: number;
OnChip: boolean;
Read: boolean;
SodHash: string;
ReadHash: string;
Match: boolean;
}
export interface VerifyInfo {
Title: string;
Reason: string;
State: boolean;
}
export enum DataItemType {
OutputDataItemInt = 0,
OutputDataItemString = 1,
OutputDataItemBool = 2,
OutputDataItemBytes = 3,
}
export enum DataItemCategory {
OICHolder = "Holder",
OICDocument = "Document",
OICOther = "Other",
OICVehicle = "Vehicle",
OICLicense = "License",
OICRaw = "Raw",
}
export interface DataItem {
Dg: number;
Type: DataItemType;
Cat: DataItemCategory;
Name: string;
Value: string;
Raw: string;
}
export enum ImageItemKind {
Face = 0,
Signature = 1,
Finger = 2,
Iris = 3,
}
export interface ImageItem {
Dg: number;
Kind: ImageItemKind;
Type: LDSImageType;
Name: string;
Raw: string;
}
export enum EDocType {
MRTD = "EMRTD",
EDL = "EDL",
}
export interface SpecialFilesRead {
CardAccess: boolean;
CardSecurity: boolean;
COM: boolean;
SOD: boolean;
DIR: boolean;
AtrInfo: boolean;
CVCA: boolean;
}
export interface NfcResult {
Atr: string;
Ats: string;
Error: string;
DocType: EDocType;
AuthStatus: AuthStatus;
CardSecCertChain: CertChain | null;
SodCertChain: CertChain | null;
ComDGs: number[];
SodDGs: number[];
DGInfos: DGInfoItem[];
VerifyInfos: VerifyInfo[];
dataitems: DataItem[] | null;
imageitems: ImageItem[] | null;
dgs: { [key: string]: unknown } | null;
SpecialFiles: SpecialFilesRead;
}
export enum ProcessedOutputItemType {
TTUnknown = 0,
TTInt = 1,
TTString = 2,
TTBytes = 3,
TTBool = 4,
TTDate = 5,
}
export enum ProcessedOutputItemCategory {
TC_HOLDER = "holder",
TC_DOC = "document",
TC_VEHICLE = "vehicle",
TC_GENERAL = "general",
TC_OTHER = "other",
TC_LICENSE = "license",
TC_LICENSE_CAT = "licensecat",
TC_DISPLAY = "display",
TC_CUSTOM = "custom",
}
export interface ProcessedOutputItem {
Key: string;
SourceKey: string;
Value: string;
Category: ProcessedOutputItemCategory;
Type: ProcessedOutputItemType;
frontInternalData?: unknown;
}
export type ProcessedOutput = { [key: string]: ProcessedOutputItem };
export enum ProcessedCheckItemState {
PCI_Unknown = 0,
PCI_Success = 1,
PCI_Failed = 2,
PCI_Warning = 3,
PCI_Not_PERFORMED = 4,
}
export interface ProcessedCheckItem {
Id: string;
Name: string;
Desc: string;
Reason: string;
Ok: boolean;
State: ProcessedCheckItemState;
}
export type ProcessedChecks = ProcessedCheckItem[];
export interface ProcessedCheckOutputInfo {
Checks: ProcessedChecks;
OverallState: ProcessedCheckItemState;
}
export type ScanResult = {
Mrz: MrzResult;
Nfc: NfcResult | null;
ProcessedOutput: ProcessedOutput | null;
ProcessedChecks: ProcessedCheckOutputInfo | null;
CustomFields: StringMap;
};
A sample output of a Dutch specimen ID card might look like this:
outputSample.json
{
"Mrz": {
"Settings": {
"AutoCleanParts": true,
"UseCorrector": false,
"IgnoreFillerChecksNonZero": true,
"AllowExperimentalParsers": true,
"AddExtendedInfo": true,
"AddChecksInfo": true,
"AgeTop": 18,
"AgeBottom": 16,
"TranslateIds": false,
"OutputFormat": "TEXT"
},
"MrzData": {
"RawData": "I\u003cNLDSPECI20245\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c8003100F3407172NLD\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c2DE\u003cBRUIJN\u003c\u003cWILLEKE\u003cLISELOTTE\u003c\u003c",
"Lines": [
"I\u003cNLDSPECI20245\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c",
"8003100F3407172NLD\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c2",
"DE\u003cBRUIJN\u003c\u003cWILLEKE\u003cLISELOTTE\u003c\u003c"
],
"WasCorrected": false,
"CorrectedData": "",
"InvalidChars": []
},
"Parts": [
{
"Id": "code",
"Line": 0,
"Offset": 0,
"Length": 1,
"Corrector": 6,
"Raw": "I",
"Overlapped": false
},
{
"Id": "subcode",
"Line": 0,
"Offset": 1,
"Length": 1,
"Corrector": 0,
"Raw": "\u003c",
"Overlapped": false
},
{
"Id": "issuer",
"Line": 0,
"Offset": 2,
"Length": 3,
"Corrector": 2,
"Raw": "NLD",
"Overlapped": false
},
{
"Id": "docnum",
"Line": 0,
"Offset": 5,
"Length": 9,
"Corrector": 0,
"Raw": "SPECI2024",
"Overlapped": false
},
{
"Id": "cd_docnum",
"Line": 0,
"Offset": 14,
"Length": 1,
"Corrector": 4,
"Raw": "5",
"Overlapped": false
},
{
"Id": "opt1",
"Line": 0,
"Offset": 15,
"Length": 15,
"Corrector": 0,
"Raw": "\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c",
"Overlapped": false
},
{
"Id": "dob",
"Line": 1,
"Offset": 0,
"Length": 6,
"Corrector": 3,
"Raw": "800310",
"Overlapped": false
},
{
"Id": "cd_dob",
"Line": 1,
"Offset": 6,
"Length": 1,
"Corrector": 4,
"Raw": "0",
"Overlapped": false
},
{
"Id": "sex",
"Line": 1,
"Offset": 7,
"Length": 1,
"Corrector": 5,
"Raw": "F",
"Overlapped": false
},
{
"Id": "exp",
"Line": 1,
"Offset": 8,
"Length": 6,
"Corrector": 3,
"Raw": "340717",
"Overlapped": false
},
{
"Id": "cd_exp",
"Line": 1,
"Offset": 14,
"Length": 1,
"Corrector": 4,
"Raw": "2",
"Overlapped": false
},
{
"Id": "nat",
"Line": 1,
"Offset": 15,
"Length": 3,
"Corrector": 2,
"Raw": "NLD",
"Overlapped": false
},
{
"Id": "opt2",
"Line": 1,
"Offset": 18,
"Length": 11,
"Corrector": 0,
"Raw": "\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c",
"Overlapped": false
},
{
"Id": "cd_comp",
"Line": 1,
"Offset": 29,
"Length": 1,
"Corrector": 4,
"Raw": "2",
"Overlapped": false
},
{
"Id": "name",
"Line": 2,
"Offset": 0,
"Length": 30,
"Corrector": 2,
"Raw": "DE\u003cBRUIJN\u003c\u003cWILLEKE\u003cLISELOTTE\u003c\u003c",
"Overlapped": false
}
],
"Values": {
"cd_comp": "2",
"cd_dob": "0",
"cd_docnum": "5",
"cd_exp": "2",
"code": "I",
"composite": "SPECI20245\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c80031003407172",
"dob": "800310",
"docidcode": "I-\u003c-TD1",
"docnum": "SPECI2024",
"exp": "340717",
"issuer": "NLD",
"kmrz": "SPECI2024580031003407172",
"kmrzfixed": "SPECI2024580031003407172",
"name": "DE\u003cBRUIJN\u003c\u003cWILLEKE\u003cLISELOTTE",
"name_first": "WILLEKE LISELOTTE",
"name_last": "DE BRUIJN",
"nat": "NLD",
"opt1": "",
"opt2": "",
"refugee_doctype": "0",
"sex": "F",
"subcode": "\u003c"
},
"CheckDigits": [
{
"Id": "cd_docnum",
"Name": "cd_docnum",
"FromData": "SPECI2024",
"Read": "5",
"Calc": "5",
"IsValid": true
},
{
"Id": "cd_dob",
"Name": "cd_dob",
"FromData": "800310",
"Read": "0",
"Calc": "0",
"IsValid": true
},
{
"Id": "cd_exp",
"Name": "cd_exp",
"FromData": "340717",
"Read": "2",
"Calc": "2",
"IsValid": true
},
{
"Id": "cd_comp",
"Name": "cd_comp",
"FromData": "SPECI20245\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c80031003407172",
"Read": "2",
"Calc": "2",
"IsValid": true
}
],
"IsVisa": false,
"ExtendedDocNumber": false,
"ExtendedInfo": {
"Values": {
"age": "44",
"dob_iso": "1980-03-10T00:00:00",
"dob_nice": "10-03-1980",
"docidname": "Identity Card",
"exp_iso": "2034-07-17T00:00:00",
"exp_nice": "17-07-2034",
"initials": "W.L.",
"issuer_name": "Netherlands, the (NLD)",
"name_full": "Willeke Liselotte De Bruijn",
"name_parsed_first": "Willeke Liselotte",
"name_parsed_last": "Bruijn",
"name_parsed_prefix": "de",
"nat_name": "Netherlands, the (NLD)",
"refugee_doctype_code": "N/A",
"refugee_doctype_desc": "N/A",
"refugee_doctype_name": "N/A",
"sex_value": "Female"
}
},
"CheckInfo": [
{
"Id": "check_doc_not_expired",
"Ok": true,
"State": 1
},
{
"Id": "check_age",
"Ok": true,
"State": 1
},
{
"Id": "check_digits",
"Ok": true,
"State": 1
}
],
"ParserInfo": {
"Type": 2,
"Description": "ICAO TD1 Travel Document",
"Name": "TD1",
"IsExperimental": false
},
"OptDataParserUsed": ""
},
"Nfc": {
"DocType": "EMRTD",
"Error": "",
"Atr": "O4WAAYBzhCHgsg==",
"Ats": "gHOEIeCQAA==",
"AuthStatus": {
"ActiveAuthentication": {
"AuthState": 1,
"WasPerformed": true,
"Reason": "",
"Info": ""
},
"PassiveAuthentication": {
"AuthState": 2,
"WasPerformed": true,
"Reason": "unable to verify SignedData (SOD): error: unable to locate parent certificate (SKI:4b0a407df6272538ce67cb9b3ff6c2b4b41097d038c562e5e95b672fc2a87acd)",
"Info": ""
},
"ChipAuthentication": {
"AuthState": 1,
"WasPerformed": true,
"Reason": "",
"Info": ""
},
"ChipAuthStatus": 2,
"DSDataVerified": {
"AuthState": 1,
"WasPerformed": true,
"Reason": "",
"Info": ""
},
"DSCSCAVerified": {
"AuthState": 2,
"WasPerformed": true,
"Reason": "CSCA certificate chain verification failed: error: unable to locate parent certificate (SKI:4b0a407df6272538ce67cb9b3ff6c2b4b41097d038c562e5e95b672fc2a87acd)",
"Info": ""
},
"AccessMethod": 3
},
"DGInfos": [
{
"Num": 1,
"OnChip": true,
"Read": true,
"SodHash": "j81+g2Zks3sYZjkDVlHysPL5rn/vzER6uTM2mpI5/0Y=",
"CalcHash": "j81+g2Zks3sYZjkDVlHysPL5rn/vzER6uTM2mpI5/0Y=",
"Match": true
},
{
"Num": 2,
"OnChip": true,
"Read": true,
"SodHash": "RnaH0h8070K3QEkU/cYo2iV74kT4nxLG5yBMOPOTdFk=",
"CalcHash": "RnaH0h8070K3QEkU/cYo2iV74kT4nxLG5yBMOPOTdFk=",
"Match": true
},
{
"Num": 3,
"OnChip": true,
"Read": false,
"SodHash": "jFBXfDIiTaLMlW3/yduRYArp0AnNPntTKDXlrhrHJlw=",
"CalcHash": null,
"Match": false
},
{
"Num": 4,
"OnChip": false,
"Read": false,
"SodHash": null,
"CalcHash": null,
"Match": false
},
{
"Num": 5,
"OnChip": false,
"Read": false,
"SodHash": null,
"CalcHash": null,
"Match": false
},
{
"Num": 6,
"OnChip": false,
"Read": false,
"SodHash": null,
"CalcHash": null,
"Match": false
},
{
"Num": 7,
"OnChip": false,
"Read": false,
"SodHash": null,
"CalcHash": null,
"Match": false
},
{
"Num": 8,
"OnChip": false,
"Read": false,
"SodHash": null,
"CalcHash": null,
"Match": false
},
{
"Num": 9,
"OnChip": false,
"Read": false,
"SodHash": null,
"CalcHash": null,
"Match": false
},
{
"Num": 10,
"OnChip": false,
"Read": false,
"SodHash": null,
"CalcHash": null,
"Match": false
},
{
"Num": 11,
"OnChip": false,
"Read": false,
"SodHash": null,
"CalcHash": null,
"Match": false
},
{
"Num": 12,
"OnChip": false,
"Read": false,
"SodHash": null,
"CalcHash": null,
"Match": false
},
{
"Num": 13,
"OnChip": false,
"Read": false,
"SodHash": null,
"CalcHash": null,
"Match": false
},
{
"Num": 14,
"OnChip": true,
"Read": true,
"SodHash": "uV3qZm3lND5EMqva5oiXRRAgfrYj4cBiSCGG2Z9msaI=",
"CalcHash": "uV3qZm3lND5EMqva5oiXRRAgfrYj4cBiSCGG2Z9msaI=",
"Match": true
},
{
"Num": 15,
"OnChip": true,
"Read": true,
"SodHash": "adDngMVBab/UGPUvMU2aVxfRPhqjobZs88SFmyTJJ6Y=",
"CalcHash": "adDngMVBab/UGPUvMU2aVxfRPhqjobZs88SFmyTJJ6Y=",
"Match": true
},
{
"Num": 16,
"OnChip": false,
"Read": false,
"SodHash": null,
"CalcHash": null,
"Match": false
}
],
"ComDGs": [1, 2, 3, 14, 15],
"SodDGs": [1, 2, 3, 14, 15],
"SodCertChain": [
{
"Raw": "MIIG4zCCBMugAwIBAgIBcjANBgkqhkiG9w0BAQsFADCBljEKMAgGA1UEBRMBMzEbMBkGA1UEAwwSQ1NDQSBOTCAtIFNwZWNpbWVuMS4wLAYDVQQLDCVLaW5nZG9tIG9mIHRoZSBOZXRoZXJsYW5kcyAtIFNwZWNpbWVuMS4wLAYDVQQKDCVLaW5nZG9tIG9mIHRoZSBOZXRoZXJsYW5kcyAtIFNwZWNpbWVuMQswCQYDVQQGEwJOTDAeFw0yNDA0MTYwMDAwMDBaFw0zNDA4MTYwMDAwMDBaMIGaMQswCQYDVQQFEwIxNzEeMBwGA1UEAwwVRFMtTS0wMiBOTCAtIFNwZWNpbWVuMS4wLAYDVQQLDCVLaW5nZG9tIG9mIHRoZSBOZXRoZXJsYW5kcyAtIFNwZWNpbWVuMS4wLAYDVQQKDCVLaW5nZG9tIG9mIHRoZSBOZXRoZXJsYW5kcyAtIFNwZWNpbWVuMQswCQYDVQQGEwJOTDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOIBCIXNphgBD3x3m09sNZRGfyBV5L3szkHitxJfa4nU08856114+ZUig5CGrS0VI1loSDjZ93xy2K30aiK75X9nmQFdcO6MBGLGVftnhmEZtxLg0YvaH6Pglq0HAHMtvz9279Q0eq8AAsU57WaBhQuUcBtPzYdxqi0o8EuQ4WicF+0rQV/P4fHpiGhaPMr/oEH/4XSpnI81kRQ7h+nuAewb1VgwhYSAWcAkBtZNsx6ixecVQyBkSRxXz4i2xfIwPNnKfF0Gj41rPkrwnTT/tpRcfYeaeb4hntMLZreC7kFAwXZ335VSfeE/+nKjtgBRvLm5IkxxOajXRe8PN1oQuf3vTPCIsahVPeue9MzSo6Uz1mbskQv7CvyQdIi0IxT+2DoMQ50KB3zccGySUyfkPKzOiIrM4yxV0YyLaxNNq24UJtWcvDiAFn7xwUXG0STMumeys3PGB4HQAI+HvKZlfnY6RD8TKdRpps1GPWoGofr0Gyh9M/6OE5yfbHBmz1a+gwkl8uQKkuZeDKW2YJoqNOlJS2J0fXLsVhxXhmFm8y9pCLT9miNoIT+Xd9Hw863G34hEEuiwIXtKVtClOOBek6Ivn4uWP2DuKagJbQ2vtgEV5Ht9y37QWQXiRm6jQZPe2mg46P2aABH3FOjEdju71b77Sthj7XPSz5JVBwOCnMbbAgMBAAGjggE0MIIBMDAOBgNVHQ8BAf8EBAMCB4AwKwYDVR0jBCQwIoAgSwpAffYnJTjOZ8ubP/bCtLQQl9A4xWLl6VtnL8Koes0wGAYHZ4EIAQEGAgQNMAsCAQAxBhMBSRMBUDApBgNVHQ4EIgQgZx4xRYTn+nfX0W+VzOoutUl5zXbExACcIxpsdLlm3VowMAYDVR0fBCkwJzAloCOgIYYfaHR0cDovL2NybC5ucGtkLm5sL0NSTHMvTkxELmNybDAbBgNVHRIEFDASpBAwDjEMMAoGA1UEBwwDTkxEMBsGA1UdEQQUMBKkEDAOMQwwCgYDVQQHDANOTEQwEwYDVR0gBAwwCjAIBgYEAI96AQIwKwYDVR0QBCQwIoAPMjAyNDA0MTYwMDAwMDBagQ8yMDI0MDgxNDAwMDAwMFowDQYJKoZIhvcNAQELBQADggIBAARx3SVgf3YTzs11qvX/WCCFYnuGKqlKFXM4AmT7EbWPD0QKRAtWwjL4FEQf15XQUzGIzNXJEtHHrkS6C8RkCQGfFeK+DyN85CONCKznbATe8oQtwEvul2gKHbWgmaAWFDx/1wbdBZsBChxk1xZgPI4dkgI/kgFyqyMUQR6g0pQgNzlMkD/6HfN3Wlyg/nZpSoQuyKNbesiLqfrzLRK/X0MMyxFZ5jH46G1J2ZSXq8BS9GINyfh71mmXPg1+qWWe2lXi/6VBdYlBvjgJCtZlgv4QiRAFjpCH3Z/hbYzQpuJ/PZQHCwywNhufNfOMgjCM7M0Nyp4d1+zeb+s2GUfaB6ALM13BcFDZ3Y/YbhowrcDItD7TafRzMmg/ktAGvr/ohB8BFx6UU3wMEemvUBsKxdIlxkl5/5+mY2xRP+hO41j99HlWBjrm6JctfEiipr2zs6EfX3Nv2jx/ypY4aLnva32PLJNh32pia4b5P4p0U8p3CgcYyBrH64KNwKxuYGCKyrm8/U237/lDcnOxbGF8AFJcslUz+vll6+2Ex76U++mErClQa/4K4re7KdJ+jSzfhqLo8dHdluHPFkaT/kOGVvEfQJIuTxd1G/hnT3etppyeSHO98Lu8J3OAIBN6m7VmkP0OnFZYMKqa5gUW7ZJFqxGEIa9NyrrjcSAul0XaqXiB",
"Info": {
"Version": "v3 (2)",
"Serial": "72",
"Issuer": "C=NL, O=Kingdom of the Netherlands - Specimen, OU=Kingdom of the Netherlands - Specimen, CN=CSCA NL - Specimen, SERIALNUMBER=3",
"Subject": "C=NL, O=Kingdom of the Netherlands - Specimen, OU=Kingdom of the Netherlands - Specimen, CN=DS-M-02 NL - Specimen, SERIALNUMBER=17",
"NotBefore": "2024-04-16T00:00:00Z",
"NotAfter": "2034-08-16T00:00:00Z",
"SignatureAlgorithm": "1.2.840.113549.1.1.11 (sha256WithRSAEncryption)",
"PublicKeyAlgorithm": "1.2.840.113549.1.1.1 (rsaEncryption)",
"Feature": "243e4d6d447de7e38c07887938d787810640ccf5"
}
}
],
"CardSecCertChain": null,
"VerifyInfos": [
{
"Id": "mandatory_files",
"Title": "Mandatory files",
"Desc": "Checks if all mandatory files are present",
"State": true,
"Reason": "One or more mandatory files are missing (COM,SOD,DG1,DG2)"
},
{
"Id": "dg14_file",
"Title": "DG14 file",
"Desc": "Checks if DG14 file is present",
"State": true,
"Reason": "DG14 file missing but referenced by SOD"
},
{
"Id": "cardaccess_secinfos",
"Title": "CardAccess SecInfos",
"Desc": "Check if CardAccess SecInfos are present within DG14",
"State": true,
"Reason": "CardAccess SecInfos are not present within DG14"
},
{
"Id": "dg15_file",
"Title": "DG15 file",
"Desc": "Checks if DG15 file is present",
"State": true,
"Reason": "DG15 file missing but referenced by SOD"
},
{
"Id": "dg_hashes",
"Title": "DG File Hashes",
"Desc": "Checks if all file hashes match",
"State": true,
"Reason": "One or more file hashes do not match"
},
{
"Id": "mrz_match",
"Title": "MRZ's match",
"Desc": "Checks if document \u0026 chip MRZ's match",
"State": true,
"Reason": "MRZ's are different"
},
{
"Id": "com_vs_sod",
"Title": "DG List COM vs SOD",
"Desc": "Checks if DG lists match",
"State": true,
"Reason": "DG list does not match"
}
],
"dataitems": [
{
"Dg": -1,
"Type": 1,
"Cat": "Document",
"Name": "ComLdsVersion",
"Value": "0108",
"Raw": null
},
{
"Dg": -1,
"Type": 1,
"Cat": "Document",
"Name": "ComUnicodeVersion",
"Value": "040000",
"Raw": null
},
{
"Dg": -1,
"Type": 1,
"Cat": "Document",
"Name": "ComTagList",
"Value": "97,117,99,110,111",
"Raw": null
},
{
"Dg": -1,
"Type": 1,
"Cat": "Document",
"Name": "ComDgList",
"Value": "1,2,3,14,15",
"Raw": null
},
{
"Dg": -2,
"Type": 1,
"Cat": "Document",
"Name": "SodDgList",
"Value": "1,2,3,14,15",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Other",
"Name": "MRZ",
"Value": "I\u003cNLDSPECI20245\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c8003100F3407172NLD\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c2DE\u003cBRUIJN\u003c\u003cWILLEKE\u003cLISELOTTE\u003c\u003c",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Document",
"Name": "MRZRaw",
"Value": "I\u003cNLDSPECI20245\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c8003100F3407172NLD\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c2DE\u003cBRUIJN\u003c\u003cWILLEKE\u003cLISELOTTE\u003c\u003c",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.opt2",
"Value": "",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.kmrz",
"Value": "SPECI2024580031003407172",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.opt1",
"Value": "",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.cd_dob",
"Value": "0",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.sex",
"Value": "F",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.name",
"Value": "DE\u003cBRUIJN\u003c\u003cWILLEKE\u003cLISELOTTE",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.name_last",
"Value": "DE BRUIJN",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.code",
"Value": "I",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.docnum",
"Value": "SPECI2024",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.cd_docnum",
"Value": "5",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.exp",
"Value": "340717",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.cd_exp",
"Value": "2",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.nat",
"Value": "NLD",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.name_first",
"Value": "WILLEKE LISELOTTE",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.docidcode",
"Value": "I-\u003c-TD1",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.subcode",
"Value": "\u003c",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.dob",
"Value": "800310",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.cd_comp",
"Value": "2",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.kmrzfixed",
"Value": "SPECI2024580031003407172",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.composite",
"Value": "SPECI20245\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c80031003407172",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.refugee_doctype",
"Value": "0",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.Value.issuer",
"Value": "NLD",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.dob_nice",
"Value": "10-03-1980",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.sex_value",
"Value": "Female",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.name_parsed_last",
"Value": "Bruijn",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.docidname",
"Value": "Identity Card",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.dob_iso",
"Value": "1980-03-10T00:00:00",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.exp_nice",
"Value": "17-07-2034",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.name_parsed_first",
"Value": "Willeke Liselotte",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.name_full",
"Value": "Willeke Liselotte De Bruijn",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.nat_name",
"Value": "Netherlands, the (NLD)",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.initials",
"Value": "W.L.",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.refugee_doctype_code",
"Value": "N/A",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.refugee_doctype_name",
"Value": "N/A",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.refugee_doctype_desc",
"Value": "N/A",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.age",
"Value": "44",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.exp_iso",
"Value": "2034-07-17T00:00:00",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.issuer_name",
"Value": "Netherlands, the (NLD)",
"Raw": null
},
{
"Dg": 1,
"Type": 1,
"Cat": "Raw",
"Name": "Mrz.ExtendedInfo.Value.name_parsed_prefix",
"Value": "de",
"Raw": null
}
],
"imageitems": [
{
"Dg": 2,
"Name": "FacialImage0",
"Kind": 0,
"Type": 1,
"Raw": "<base64_encode_jpeg_image>"
}
],
"SpecialFiles": {
"CardAccess": true,
"CardSecurity": false,
"COM": true,
"SOD": true,
"DIR": true,
"AtrInfo": true,
"CVCA": true
}
},
"ProcessedOutput": {
"age": {
"Key": "age",
"SourceKey": "age",
"Value": "44",
"Category": "holder",
"Type": 1
},
"cd_comp": {
"Key": "cd_comp",
"SourceKey": "cd_comp",
"Value": "2",
"Category": "general",
"Type": 2
},
"cd_dob": {
"Key": "cd_dob",
"SourceKey": "cd_dob",
"Value": "0",
"Category": "general",
"Type": 2
},
"cd_docnum": {
"Key": "cd_docnum",
"SourceKey": "cd_docnum",
"Value": "5",
"Category": "general",
"Type": 2
},
"cd_exp": {
"Key": "cd_exp",
"SourceKey": "cd_exp",
"Value": "2",
"Category": "general",
"Type": 2
},
"code": {
"Key": "code",
"SourceKey": "code",
"Value": "I",
"Category": "document",
"Type": 2
},
"composite": {
"Key": "composite",
"SourceKey": "composite",
"Value": "SPECI20245\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c80031003407172",
"Category": "general",
"Type": 2
},
"dob": {
"Key": "dob",
"SourceKey": "dob",
"Value": "800310",
"Category": "holder",
"Type": 2
},
"dob_iso": {
"Key": "dob_iso",
"SourceKey": "dob_iso",
"Value": "1980-03-10T00:00:00",
"Category": "holder",
"Type": 5
},
"dob_nice": {
"Key": "dob_nice",
"SourceKey": "dob_nice",
"Value": "10-03-1980",
"Category": "holder",
"Type": 2
},
"docidcode": {
"Key": "docidcode",
"SourceKey": "docidcode",
"Value": "I-\u003c-TD1",
"Category": "document",
"Type": 2
},
"docidname": {
"Key": "docidname",
"SourceKey": "docidname",
"Value": "Identity Card",
"Category": "document",
"Type": 2
},
"docnum": {
"Key": "docnum",
"SourceKey": "docnum",
"Value": "SPECI2024",
"Category": "document",
"Type": 2
},
"exp": {
"Key": "exp",
"SourceKey": "exp",
"Value": "340717",
"Category": "document",
"Type": 2
},
"exp_iso": {
"Key": "exp_iso",
"SourceKey": "exp_iso",
"Value": "2034-07-17T00:00:00",
"Category": "document",
"Type": 5
},
"exp_nice": {
"Key": "exp_nice",
"SourceKey": "exp_nice",
"Value": "17-07-2034",
"Category": "document",
"Type": 2
},
"initials": {
"Key": "initials",
"SourceKey": "initials",
"Value": "W.L.",
"Category": "holder",
"Type": 2
},
"issuer": {
"Key": "issuer",
"SourceKey": "issuer",
"Value": "NLD",
"Category": "document",
"Type": 2
},
"issuer_name": {
"Key": "issuer_name",
"SourceKey": "issuer_name",
"Value": "Netherlands, the (NLD)",
"Category": "document",
"Type": 2
},
"kmrz": {
"Key": "kmrz",
"SourceKey": "kmrz",
"Value": "SPECI2024580031003407172",
"Category": "document",
"Type": 2
},
"kmrzfixed": {
"Key": "kmrzfixed",
"SourceKey": "kmrzfixed",
"Value": "SPECI2024580031003407172",
"Category": "document",
"Type": 2
},
"name": {
"Key": "name",
"SourceKey": "name",
"Value": "DE\u003cBRUIJN\u003c\u003cWILLEKE\u003cLISELOTTE",
"Category": "holder",
"Type": 2
},
"name_first": {
"Key": "name_first",
"SourceKey": "name_first",
"Value": "WILLEKE LISELOTTE",
"Category": "holder",
"Type": 2
},
"name_last": {
"Key": "name_last",
"SourceKey": "name_last",
"Value": "DE BRUIJN",
"Category": "holder",
"Type": 2
},
"name_parsed_first": {
"Key": "name_parsed_first",
"SourceKey": "name_parsed_first",
"Value": "Willeke Liselotte",
"Category": "holder",
"Type": 2
},
"name_parsed_last": {
"Key": "name_parsed_last",
"SourceKey": "name_parsed_last",
"Value": "Bruijn",
"Category": "holder",
"Type": 2
},
"name_parsed_prefix": {
"Key": "name_parsed_prefix",
"SourceKey": "name_parsed_prefix",
"Value": "de",
"Category": "holder",
"Type": 2
},
"nat": {
"Key": "nat",
"SourceKey": "nat",
"Value": "NLD",
"Category": "holder",
"Type": 2
},
"nat_name": {
"Key": "nat_name",
"SourceKey": "nat_name",
"Value": "Netherlands, the (NLD)",
"Category": "holder",
"Type": 2
},
"refugee_doctype": {
"Key": "refugee_doctype",
"SourceKey": "refugee_doctype",
"Value": "0",
"Category": "document",
"Type": 1
},
"refugee_doctype_code": {
"Key": "refugee_doctype_code",
"SourceKey": "refugee_doctype_code",
"Value": "N/A",
"Category": "document",
"Type": 2
},
"refugee_doctype_desc": {
"Key": "refugee_doctype_desc",
"SourceKey": "refugee_doctype_desc",
"Value": "N/A",
"Category": "document",
"Type": 2
},
"refugee_doctype_name": {
"Key": "refugee_doctype_name",
"SourceKey": "refugee_doctype_name",
"Value": "N/A",
"Category": "document",
"Type": 2
},
"sex": {
"Key": "sex",
"SourceKey": "sex",
"Value": "F",
"Category": "holder",
"Type": 2
},
"sex_value": {
"Key": "sex_value",
"SourceKey": "sex_value",
"Value": "Female",
"Category": "holder",
"Type": 2
},
"subcode": {
"Key": "subcode",
"SourceKey": "subcode",
"Value": "\u003c",
"Category": "document",
"Type": 2
}
},
"ProcessedChecks": {
"Checks": [
{
"Id": "check_doc_not_expired",
"Name": "Document Expiration",
"Desc": "Check if the document is not expired",
"Reason": "",
"Ok": true,
"State": 1
},
{
"Id": "check_age",
"Name": "Age Verification",
"Desc": "Checks if Age is within range",
"Reason": "",
"Ok": true,
"State": 1
},
{
"Id": "check_digits",
"Name": "Check Digits",
"Desc": "Checks if all MRZ Digits are correct",
"Reason": "",
"Ok": true,
"State": 1
},
{
"Id": "active_authentication",
"Name": "Active Authentication",
"Desc": "Was Active Authentication performed successfully",
"Reason": "",
"Ok": true,
"State": 1
},
{
"Id": "chip_authentication",
"Name": "Chip Authentication",
"Desc": "Was Chip Authentication performed successfully",
"Reason": "",
"Ok": true,
"State": 1
},
{
"Id": "passive_authentication",
"Name": "Passive Authentication",
"Desc": "Was Passive Authentication performed successfully",
"Reason": "unable to verify SignedData (SOD): error: unable to locate parent certificate (SKI:4b0a407df6272538ce67cb9b3ff6c2b4b41097d038c562e5e95b672fc2a87acd)",
"Ok": false,
"State": 2
},
{
"Id": "ds_data_verified",
"Name": "DS Data Verified",
"Desc": "Sod Data Verified with DS signature status",
"Reason": "",
"Ok": true,
"State": 1
},
{
"Id": "ds_csca_verified",
"Name": "DS CSCA Verified",
"Desc": "Sod Data Verified against CSCA certificate chain",
"Reason": "CSCA certificate chain verification failed: error: unable to locate parent certificate (SKI:4b0a407df6272538ce67cb9b3ff6c2b4b41097d038c562e5e95b672fc2a87acd)",
"Ok": false,
"State": 2
},
{
"Id": "mandatory_files",
"Name": "Mandatory files",
"Desc": "Checks if all mandatory files are present",
"Reason": "",
"Ok": true,
"State": 1
},
{
"Id": "dg14_file",
"Name": "DG14 file",
"Desc": "Checks if DG14 file is present",
"Reason": "",
"Ok": true,
"State": 1
},
{
"Id": "cardaccess_secinfos",
"Name": "CardAccess SecInfos",
"Desc": "Check if CardAccess SecInfos are present within DG14",
"Reason": "",
"Ok": true,
"State": 1
},
{
"Id": "dg15_file",
"Name": "DG15 file",
"Desc": "Checks if DG15 file is present",
"Reason": "",
"Ok": true,
"State": 1
},
{
"Id": "dg_hashes",
"Name": "DG File Hashes",
"Desc": "Checks if all file hashes match",
"Reason": "",
"Ok": true,
"State": 1
},
{
"Id": "mrz_match",
"Name": "MRZ's match",
"Desc": "Checks if document \u0026 chip MRZ's match",
"Reason": "",
"Ok": true,
"State": 1
},
{
"Id": "com_vs_sod",
"Name": "DG List COM vs SOD",
"Desc": "Checks if DG lists match",
"Reason": "",
"Ok": true,
"State": 1
}
],
"OverallState": 2
},
"CustomFields": {
"testveld": "hier wat eigen data"
}
}