@open-charging-cloud/chargy-core 0.9.0 → 0.9.1
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/README.md +14 -1
- package/dist/ACrypt.d.ts +2 -1
- package/dist/ACrypt.d.ts.map +1 -1
- package/dist/Alfen.d.ts.map +1 -1
- package/dist/BSMCrypt01.d.ts.map +1 -1
- package/dist/EMHCrypt01.d.ts.map +1 -1
- package/dist/GDFCrypt01.d.ts.map +1 -1
- package/dist/Mennekes.d.ts.map +1 -1
- package/dist/OCMF.d.ts +2 -0
- package/dist/OCMF.d.ts.map +1 -1
- package/dist/browser/index.js +204 -101
- package/dist/browser/index.js.map +1 -1
- package/dist/chargy.d.ts +6 -1
- package/dist/chargy.d.ts.map +1 -1
- package/dist/interfaces/chargyInterfaces.d.ts +3 -1
- package/dist/interfaces/chargyInterfaces.d.ts.map +1 -1
- package/dist/node/index.js +204 -101
- package/dist/node/index.js.map +1 -1
- package/i18n.json +35 -0
- package/package.json +1 -1
package/dist/chargy.d.ts
CHANGED
|
@@ -22,6 +22,10 @@ type Asn1Module = {
|
|
|
22
22
|
type Base32Decode = (input: string, variant: "RFC3548" | "RFC4648" | "RFC4648-HEX" | "Crockford") => ArrayBuffer;
|
|
23
23
|
export type EllipticKeyPair = {
|
|
24
24
|
verify(hash: string, signature: unknown): boolean;
|
|
25
|
+
validate(): {
|
|
26
|
+
result: boolean;
|
|
27
|
+
reason?: string | null;
|
|
28
|
+
};
|
|
25
29
|
};
|
|
26
30
|
export type EllipticCurve = {
|
|
27
31
|
keyFromPublic(publicKey: string | {
|
|
@@ -56,6 +60,7 @@ export declare class Chargy {
|
|
|
56
60
|
private TryToParseDERPublicKey;
|
|
57
61
|
private IsHexEncodedPublicKeyFile;
|
|
58
62
|
private TryToGetDERPublicKeyHEX;
|
|
63
|
+
private TryToCreatePublicKeyLookup;
|
|
59
64
|
private normalizeMIMEType;
|
|
60
65
|
private getQRCodeImageMIMETypeFromFileName;
|
|
61
66
|
private getQRCodeImageMIMEType;
|
|
@@ -85,7 +90,7 @@ export declare class Chargy {
|
|
|
85
90
|
private toUint8Array;
|
|
86
91
|
private readTarString;
|
|
87
92
|
private readTarOctal;
|
|
88
|
-
DetectAndConvertContentFormat(FileInfos: Array<chargyInterfaces.IFileInfo>): Promise<chargeTransparencyRecord.IChargeTransparencyRecord | chargeTransparencyLiveLink.IChargeTransparencyLiveLink | publicKeyInfo.IPublicKey | chargyInterfaces.ISessionCryptoResult>;
|
|
93
|
+
DetectAndConvertContentFormat(FileInfos: Array<chargyInterfaces.IFileInfo>): Promise<chargeTransparencyRecord.IChargeTransparencyRecord | chargeTransparencyLiveLink.IChargeTransparencyLiveLink | publicKeyInfo.IPublicKey | publicKeyInfo.IPublicKeyLookup | chargyInterfaces.ISessionCryptoResult>;
|
|
89
94
|
private processChargeTransparencyRecord;
|
|
90
95
|
private hasInplausibleChargingSessionTotalEnergyMeasurement;
|
|
91
96
|
private isInplausibleChargingSessionTotalEnergy;
|
package/dist/chargy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chargy.d.ts","sourceRoot":"","sources":["../src/chargy.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,gBAAgB,MAAqB,+BAA+B,CAAA;AAChF,OAAO,KAAK,wBAAwB,MAAa,wCAAwC,CAAA;AACzF,OAAO,KAAK,0BAA0B,MAAW,0CAA0C,CAAA;AAC3F,OAAO,KAAK,aAAa,MAAwB,6BAA6B,CAAA;AAC9E,OAAO,KAAK,SAAS,MAA4B,wBAAwB,CAAA;AAKzE,OAAO,KAAK,MAAM,MAA+B,QAAQ,CAAC;AAS1D,KAAK,WAAW,GAAG;IACf,MAAM,IAAI,WAAW,CAAC;IACtB,GAAG,IAAI,WAAW,CAAC;IACnB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC/B,GAAG,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IACtC,KAAK,IAAI,WAAW,CAAC;IACrB,GAAG,IAAI,WAAW,CAAC;IACnB,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC;CACvC,CAAC;AAEF,KAAK,UAAU,GAAG;IACd,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CACrE,CAAC;AAiBF,KAAK,UAAU,GAAG;IACd,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,KAAK,UAAU,CAAC;CAC3E,CAAC;AAEF,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,KAAK,WAAW,CAAC;AAEjH,MAAM,MAAM,eAAe,GAAG;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"chargy.d.ts","sourceRoot":"","sources":["../src/chargy.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,gBAAgB,MAAqB,+BAA+B,CAAA;AAChF,OAAO,KAAK,wBAAwB,MAAa,wCAAwC,CAAA;AACzF,OAAO,KAAK,0BAA0B,MAAW,0CAA0C,CAAA;AAC3F,OAAO,KAAK,aAAa,MAAwB,6BAA6B,CAAA;AAC9E,OAAO,KAAK,SAAS,MAA4B,wBAAwB,CAAA;AAKzE,OAAO,KAAK,MAAM,MAA+B,QAAQ,CAAC;AAS1D,KAAK,WAAW,GAAG;IACf,MAAM,IAAI,WAAW,CAAC;IACtB,GAAG,IAAI,WAAW,CAAC;IACnB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC/B,GAAG,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IACtC,KAAK,IAAI,WAAW,CAAC;IACrB,GAAG,IAAI,WAAW,CAAC;IACnB,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC;CACvC,CAAC;AAEF,KAAK,UAAU,GAAG;IACd,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CACrE,CAAC;AAiBF,KAAK,UAAU,GAAG;IACd,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,KAAK,UAAU,CAAC;CAC3E,CAAC;AAEF,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,KAAK,WAAW,CAAC;AAEjH,MAAM,MAAM,eAAe,GAAG;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;IAClD,QAAQ,IAAI;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAAC;CAClG,CAAC;AAEF,KAAK,cAAc,GAAG;IAClB,EAAE,EAAE,KAAK,KAAK,EAAE,MAAM,KAAK,aAAa,CAAC;CAC5C,CAAC;AAEF,KAAK,YAAY,GAAG,OAAO,MAAM,CAAC;AAElC,qBAAa,MAAM;IAIf,SAAiB,IAAI,EAAc,SAAS,CAAC,cAAc,CAAC;IAC3C,WAAW,EAAO,SAAS,CAAC,eAAe,CAAC;IAC7D,SAAiB,QAAQ,EAAU,cAAc,CAAC;IAClD,SAAiB,MAAM,EAAY,YAAY,CAAC;IAChD,SAAiB,IAAI,EAAc,UAAU,CAAC;IAC9C,SAAiB,YAAY,EAAM,YAAY,CAAC;IAChD,SAAiB,cAAc,EAAI,gBAAgB,CAAC,sBAAsB,CAAC;IAC3E,SAAiB,eAAe,EAAG,gBAAgB,CAAC,gBAAgB,CAAC;IAErE,OAAO,CAAC,wBAAwB,CAA2D;IAC3F,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,gBAAgB,CAA2D;IACnF,OAAO,CAAC,KAAK,CAA2D;IACxE,OAAO,CAAC,MAAM,CAAiE;IAC/E,OAAO,CAAC,gBAAgB,CAAmE;IAEnF,UAAU,EAAwB,wBAAwB,CAAC,yBAAyB,CAAC;IACrF,WAAW,EAAuB,wBAAwB,CAAC,yBAAyB,CAAC;gBAIjF,IAAI,EAAc,SAAS,CAAC,cAAc,EAC1C,WAAW,EAAO,SAAS,CAAC,eAAe,EAC3C,QAAQ,EAAU,cAAc,EAChC,MAAM,EAAY,YAAY,EAC9B,IAAI,EAAc,UAAU,EAC5B,YAAY,EAAM,YAAY,EAC9B,cAAc,EAAI,gBAAgB,CAAC,sBAAsB,EACzD,eAAe,GAAG,gBAAgB,CAAC,gBAA8E;IAc7H,OAAO,CAAC,wBAAwB;IAc5B,OAAO,CAAC,uBAAuB;IAQnC,OAAO,CAAC,sBAAsB;IA8E9B,OAAO,CAAC,yBAAyB;IAoBjC,OAAO,CAAC,uBAAuB;IA0B/B,OAAO,CAAC,0BAA0B;IAyClC,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,kCAAkC;IA6B1C,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,8BAA8B;YAyBxB,sBAAsB;IAuDpC,OAAO,CAAC,4BAA4B;IAqB7B,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,eAAe,GAAG,IAAI;IAOnE,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,yBAAyB;IAoBjC,OAAO,CAAC,yBAAyB;IAgB1B,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAkBzC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,UAAU;IASxD,gCAAgC,CAAC,IAAI,EAAQ,MAAM,EAClB,SAAS,EAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IAkBrE,iCAAiC,CAAC,IAAI,EAAQ,MAAM,EAClB,SAAS,EAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,UAAU;IAuBpF,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,GAAC,SAAS,GAAG,MAAM,GAAC,SAAS;IAaxE,eAAe,EAAE,gBAAgB,CAAC,mBAAmB,CAU3D;IAEM,kBAAkB,EAAE,gBAAgB,CAAC,sBAAsB,CAUjE;IAEM,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAU3C;IAEM,QAAQ,EAAE,gBAAgB,CAAC,YAAY,CAU7C;IAOY,4BAA4B,CAAC,eAAe,EAAG,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,EACtE,IAAI,EAAc,gBAAgB,CAAC,KAAK,GAAc,IAAI,GAAG,SAAS,EACtE,KAAK,EAAa,gBAAgB,CAAC,YAAY,GAAO,IAAI,GAAG,SAAS,EACtE,SAAS,EAAS,aAAa,CAAI,UAAU,GAAS,IAAI,GAAG,SAAS,EACtE,SAAS,EAAS,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;YAwFvE,eAAe;YAsPf,cAAc;IA8C5B,OAAO,CAAC,iBAAiB;YA2CX,iBAAiB;YA+EjB,gBAAgB;IAQ9B,OAAO,CAAC,4BAA4B;IAapC,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,YAAY;IAWP,6BAA6B,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAEjF,OAAO,CAAC,wBAAwB,CAAG,yBAAyB,GACpD,0BAA0B,CAAC,2BAA2B,GACtD,aAAa,CAAc,UAAU,GACrC,aAAa,CAAc,gBAAgB,GAC3C,gBAAgB,CAAW,oBAAoB,CAAC;YAwpBhD,+BAA+B;IAgS7C,OAAO,CAAC,mDAAmD;IAuC3D,OAAO,CAAC,uCAAuC;IAwC/C,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,qBAAqB;IAwB7B,OAAO,CAAC,yCAAyC;IAQjD,OAAO,CAAC,kCAAkC;IAc1C,OAAO,CAAC,aAAa;YAaP,sBAAsB;IAsG7B,8BAA8B,CAAC,IAAI,EAAE,KAAK,CAAC,wBAAwB,CAAC,yBAAyB,CAAC,GAAG,wBAAwB,CAAC,yBAAyB;CAgF7J"}
|
|
@@ -289,8 +289,10 @@ export declare function CreateWarning(message: chargyLib.I18NString, level?: War
|
|
|
289
289
|
export interface IError {
|
|
290
290
|
level: ErrorLevel;
|
|
291
291
|
message: chargyLib.I18NString;
|
|
292
|
+
code?: string;
|
|
293
|
+
details?: string;
|
|
292
294
|
}
|
|
293
|
-
export declare function CreateError(message: chargyLib.I18NString, level?: ErrorLevel): IError;
|
|
295
|
+
export declare function CreateError(message: chargyLib.I18NString, level?: ErrorLevel, code?: string, details?: string): IError;
|
|
294
296
|
export interface ISessionCryptoResult extends chargyLib.JSONObject {
|
|
295
297
|
status: SessionVerificationResult;
|
|
296
298
|
message?: chargyLib.I18NString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chargyInterfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces/chargyInterfaces.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chargyInterfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces/chargyInterfaces.ts"],"names":[],"mappings":"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"}
|
package/dist/node/index.js
CHANGED
|
@@ -8078,11 +8078,16 @@ function CreateWarning(message, level = "low" /* low */) {
|
|
|
8078
8078
|
message
|
|
8079
8079
|
};
|
|
8080
8080
|
}
|
|
8081
|
-
function CreateError(message, level = "high" /* high
|
|
8082
|
-
|
|
8081
|
+
function CreateError(message, level = "high" /* high */, code, details) {
|
|
8082
|
+
const error = {
|
|
8083
8083
|
level,
|
|
8084
8084
|
message
|
|
8085
8085
|
};
|
|
8086
|
+
if (code !== void 0)
|
|
8087
|
+
error.code = code;
|
|
8088
|
+
if (details !== void 0)
|
|
8089
|
+
error.details = details;
|
|
8090
|
+
return error;
|
|
8086
8091
|
}
|
|
8087
8092
|
function isISessionCryptoResult1(obj) {
|
|
8088
8093
|
return isObject(obj) && obj["status"] !== void 0;
|
|
@@ -9068,6 +9073,20 @@ var ACrypt = class {
|
|
|
9068
9073
|
newText.classList.remove("overEntry");
|
|
9069
9074
|
};
|
|
9070
9075
|
}
|
|
9076
|
+
// Records why a verification step failed as structured data: a stable reason
|
|
9077
|
+
// key (localized via i18n.json and machine-switchable by the GUI) plus an
|
|
9078
|
+
// optional, language-neutral technical detail. Presentation is left to the GUI.
|
|
9079
|
+
AddVerificationError(cryptoResult, reasonKey, detail) {
|
|
9080
|
+
const details = detail instanceof Error ? detail.message : typeof detail === "string" ? detail : void 0;
|
|
9081
|
+
(cryptoResult.errors ??= []).push(
|
|
9082
|
+
CreateError(
|
|
9083
|
+
this.chargy.GetMultilanguageText(reasonKey),
|
|
9084
|
+
"high" /* high */,
|
|
9085
|
+
reasonKey,
|
|
9086
|
+
details
|
|
9087
|
+
)
|
|
9088
|
+
);
|
|
9089
|
+
}
|
|
9071
9090
|
};
|
|
9072
9091
|
var Alfen = class {
|
|
9073
9092
|
chargy;
|
|
@@ -9482,9 +9501,15 @@ var AlfenCrypt01 = class extends ACrypt {
|
|
|
9482
9501
|
cryptoResult.publicKey = meter.publicKeys[0]?.value;
|
|
9483
9502
|
cryptoResult.publicKeyFormat = meter.publicKeys[0]?.format;
|
|
9484
9503
|
cryptoResult.publicKeySignatures = meter.publicKeys[0]?.signatures;
|
|
9504
|
+
let publicKey;
|
|
9505
|
+
try {
|
|
9506
|
+
publicKey = buf2hex(this.chargy.base32Decode(cryptoResult.publicKey ?? "", "RFC4648"));
|
|
9507
|
+
} catch (exception) {
|
|
9508
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyDecodingFailed", exception);
|
|
9509
|
+
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
9510
|
+
}
|
|
9511
|
+
let result = false;
|
|
9485
9512
|
try {
|
|
9486
|
-
const publicKey = buf2hex(this.chargy.base32Decode(cryptoResult.publicKey ?? "", "RFC4648"));
|
|
9487
|
-
let result = false;
|
|
9488
9513
|
switch (meter.publicKeys[0]?.algorithm ?? "") {
|
|
9489
9514
|
case "secp192r1":
|
|
9490
9515
|
cryptoResult.hashValue = await sha256(cryptoBuffer);
|
|
@@ -9529,25 +9554,29 @@ var AlfenCrypt01 = class extends ACrypt {
|
|
|
9529
9554
|
);
|
|
9530
9555
|
break;
|
|
9531
9556
|
}
|
|
9532
|
-
|
|
9533
|
-
|
|
9534
|
-
}
|
|
9535
|
-
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
9536
|
-
} catch {
|
|
9557
|
+
} catch (exception) {
|
|
9558
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMalformed", exception);
|
|
9537
9559
|
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
9538
9560
|
}
|
|
9539
|
-
|
|
9561
|
+
if (result)
|
|
9562
|
+
return setResult("ValidSignature" /* ValidSignature */);
|
|
9563
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMismatch");
|
|
9564
|
+
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
9565
|
+
} catch (exception) {
|
|
9566
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyDecodingFailed", exception);
|
|
9540
9567
|
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
9541
9568
|
}
|
|
9542
9569
|
} else
|
|
9543
9570
|
return setResult("PublicKeyNotFound" /* PublicKeyNotFound */);
|
|
9544
9571
|
} else
|
|
9545
9572
|
return setResult("EnergyMeterNotFound" /* EnergyMeterNotFound */);
|
|
9546
|
-
} catch {
|
|
9573
|
+
} catch (exception) {
|
|
9574
|
+
this.AddVerificationError(cryptoResult, "Verification_UnexpectedError", exception);
|
|
9547
9575
|
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
9548
9576
|
}
|
|
9549
9577
|
}
|
|
9550
|
-
|
|
9578
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMissing");
|
|
9579
|
+
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
9551
9580
|
}
|
|
9552
9581
|
async ViewMeasurement(measurementValue, _errorDiv, introDiv, infoDiv, PlainTextDiv, HashedPlainTextDiv, PublicKeyDiv, SignatureExpectedDiv, SignatureCheckDiv) {
|
|
9553
9582
|
const result = measurementValue.result;
|
|
@@ -10386,33 +10415,46 @@ var BSMCrypt01 = class extends ACrypt {
|
|
|
10386
10415
|
const publicKeyDER = ASN1_PublicKey.decode(Buffer.from(meter.publicKeys[0]?.value ?? "", "hex"), "der");
|
|
10387
10416
|
publicKey = buf2hex(publicKeyDER.publicKey.data).toLowerCase();
|
|
10388
10417
|
}
|
|
10418
|
+
let keyPair;
|
|
10389
10419
|
try {
|
|
10390
|
-
|
|
10391
|
-
|
|
10392
|
-
|
|
10393
|
-
)
|
|
10394
|
-
|
|
10395
|
-
|
|
10396
|
-
|
|
10397
|
-
|
|
10398
|
-
|
|
10399
|
-
|
|
10400
|
-
|
|
10401
|
-
|
|
10420
|
+
keyPair = this.curve.keyFromPublic(publicKey, "hex");
|
|
10421
|
+
} catch (exception) {
|
|
10422
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyDecodingFailed", exception);
|
|
10423
|
+
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
10424
|
+
}
|
|
10425
|
+
const keyValidation = keyPair.validate();
|
|
10426
|
+
if (!keyValidation.result) {
|
|
10427
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyNotOnCurve", keyValidation.reason ?? void 0);
|
|
10428
|
+
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
10429
|
+
}
|
|
10430
|
+
let signatureValid;
|
|
10431
|
+
try {
|
|
10432
|
+
signatureValid = keyPair.verify(cryptoResult.sha256value, cryptoResult.signature);
|
|
10433
|
+
} catch (exception) {
|
|
10434
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMalformed", exception);
|
|
10402
10435
|
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
10403
10436
|
}
|
|
10404
|
-
|
|
10437
|
+
if (measurementValue.errors && measurementValue.errors.length > 0)
|
|
10438
|
+
return setResult("ValidationError" /* ValidationError */);
|
|
10439
|
+
if (signatureValid)
|
|
10440
|
+
return setResult("ValidSignature" /* ValidSignature */);
|
|
10441
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMismatch");
|
|
10442
|
+
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
10443
|
+
} catch (exception) {
|
|
10444
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyDecodingFailed", exception);
|
|
10405
10445
|
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
10406
10446
|
}
|
|
10407
10447
|
} else
|
|
10408
10448
|
return setResult("PublicKeyNotFound" /* PublicKeyNotFound */);
|
|
10409
10449
|
} else
|
|
10410
10450
|
return setResult("EnergyMeterNotFound" /* EnergyMeterNotFound */);
|
|
10411
|
-
} catch {
|
|
10451
|
+
} catch (exception) {
|
|
10452
|
+
this.AddVerificationError(cryptoResult, "Verification_UnexpectedError", exception);
|
|
10412
10453
|
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
10413
10454
|
}
|
|
10414
10455
|
}
|
|
10415
|
-
|
|
10456
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMissing");
|
|
10457
|
+
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
10416
10458
|
}
|
|
10417
10459
|
async ViewMeasurement(measurementValue, _errorDiv, introDiv, infoDiv, PlainTextDiv, HashedPlainTextDiv, PublicKeyDiv, SignatureExpectedDiv, SignatureCheckDiv) {
|
|
10418
10460
|
if (measurementValue.measurement === void 0)
|
|
@@ -10591,35 +10633,7 @@ var BSMCrypt01 = class extends ACrypt {
|
|
|
10591
10633
|
if ((value & 1 << 29) != 0) events.push("OEM 15");
|
|
10592
10634
|
return events;
|
|
10593
10635
|
}
|
|
10594
|
-
|
|
10595
|
-
// {
|
|
10596
|
-
// const statusArray:string[] = [];
|
|
10597
|
-
// try
|
|
10598
|
-
// {
|
|
10599
|
-
// const status = parseInt(statusValue);
|
|
10600
|
-
// if ((status & 1) == 1)
|
|
10601
|
-
// statusArray.push("Fehler erkannt");
|
|
10602
|
-
// if ((status & 2) == 2)
|
|
10603
|
-
// statusArray.push("Synchrone Messwertübermittlung");
|
|
10604
|
-
// // Bit 3 is reserved!
|
|
10605
|
-
// if ((status & 8) == 8)
|
|
10606
|
-
// statusArray.push("System-Uhr ist synchron");
|
|
10607
|
-
// else
|
|
10608
|
-
// statusArray.push("System-Uhr ist nicht synchron");
|
|
10609
|
-
// if ((status & 16) == 16)
|
|
10610
|
-
// statusArray.push("Rücklaufsperre aktiv");
|
|
10611
|
-
// if ((status & 32) == 32)
|
|
10612
|
-
// statusArray.push("Energierichtung -A");
|
|
10613
|
-
// if ((status & 64) == 64)
|
|
10614
|
-
// statusArray.push("Magnetfeld erkannt");
|
|
10615
|
-
// }
|
|
10616
|
-
// catch
|
|
10617
|
-
// {
|
|
10618
|
-
// statusArray.push("Invalid status!");
|
|
10619
|
-
// }
|
|
10620
|
-
// return statusArray;
|
|
10621
|
-
// }
|
|
10622
|
-
// //#endregion
|
|
10636
|
+
//#endregion
|
|
10623
10637
|
};
|
|
10624
10638
|
|
|
10625
10639
|
// src/interfaces/IPublicKeyInfo.ts
|
|
@@ -12078,29 +12092,44 @@ var EMHCrypt01 = class extends ACrypt {
|
|
|
12078
12092
|
cryptoResult.publicKey = publicKey?.value.toLowerCase();
|
|
12079
12093
|
cryptoResult.publicKeyFormat = publicKey?.format;
|
|
12080
12094
|
cryptoResult.publicKeySignatures = publicKey?.signatures;
|
|
12095
|
+
let keyPair;
|
|
12081
12096
|
try {
|
|
12082
|
-
|
|
12083
|
-
|
|
12084
|
-
|
|
12085
|
-
)
|
|
12086
|
-
|
|
12087
|
-
|
|
12088
|
-
|
|
12089
|
-
|
|
12097
|
+
keyPair = this.curve.keyFromPublic(cryptoResult.publicKey ?? "", "hex");
|
|
12098
|
+
} catch (exception) {
|
|
12099
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyDecodingFailed", exception);
|
|
12100
|
+
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
12101
|
+
}
|
|
12102
|
+
const keyValidation = keyPair.validate();
|
|
12103
|
+
if (!keyValidation.result) {
|
|
12104
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyNotOnCurve", keyValidation.reason ?? void 0);
|
|
12105
|
+
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
12106
|
+
}
|
|
12107
|
+
let signatureValid;
|
|
12108
|
+
try {
|
|
12109
|
+
signatureValid = keyPair.verify(cryptoResult.sha256value, cryptoResult.signature);
|
|
12110
|
+
} catch (exception) {
|
|
12111
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMalformed", exception);
|
|
12090
12112
|
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
12091
12113
|
}
|
|
12092
|
-
|
|
12114
|
+
if (signatureValid)
|
|
12115
|
+
return setResult("ValidSignature" /* ValidSignature */);
|
|
12116
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMismatch");
|
|
12117
|
+
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
12118
|
+
} catch (exception) {
|
|
12119
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyDecodingFailed", exception);
|
|
12093
12120
|
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
12094
12121
|
}
|
|
12095
12122
|
} else
|
|
12096
12123
|
return setResult("PublicKeyNotFound" /* PublicKeyNotFound */);
|
|
12097
12124
|
} else
|
|
12098
12125
|
return setResult("EnergyMeterNotFound" /* EnergyMeterNotFound */);
|
|
12099
|
-
} catch {
|
|
12126
|
+
} catch (exception) {
|
|
12127
|
+
this.AddVerificationError(cryptoResult, "Verification_UnexpectedError", exception);
|
|
12100
12128
|
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
12101
12129
|
}
|
|
12102
12130
|
}
|
|
12103
|
-
|
|
12131
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMissing");
|
|
12132
|
+
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
12104
12133
|
}
|
|
12105
12134
|
async ViewMeasurement(measurementValue, _errorDiv, introDiv, infoDiv, PlainTextDiv, HashedPlainTextDiv, PublicKeyDiv, SignatureExpectedDiv, SignatureCheckDiv) {
|
|
12106
12135
|
if (measurementValue.measurement?.chargingSession?.authorizationStart?.timestamp === void 0) {
|
|
@@ -12208,7 +12237,7 @@ var EMHCrypt01 = class extends ACrypt {
|
|
|
12208
12237
|
DecodeStatus(statusValue) {
|
|
12209
12238
|
const statusArray = [];
|
|
12210
12239
|
try {
|
|
12211
|
-
const status = parseInt(statusValue);
|
|
12240
|
+
const status = parseInt(statusValue, 16);
|
|
12212
12241
|
if ((status & 1) == 1)
|
|
12213
12242
|
statusArray.push("Fehler erkannt");
|
|
12214
12243
|
if ((status & 2) == 2)
|
|
@@ -12310,29 +12339,44 @@ var GDFCrypt01 = class extends ACrypt {
|
|
|
12310
12339
|
cryptoResult.publicKey = publicKey?.value.toLowerCase();
|
|
12311
12340
|
cryptoResult.publicKeyFormat = publicKey?.format;
|
|
12312
12341
|
cryptoResult.publicKeySignatures = publicKey?.signatures;
|
|
12342
|
+
let keyPair;
|
|
12313
12343
|
try {
|
|
12314
|
-
|
|
12315
|
-
|
|
12316
|
-
|
|
12317
|
-
)
|
|
12318
|
-
|
|
12319
|
-
|
|
12320
|
-
|
|
12321
|
-
|
|
12344
|
+
keyPair = this.curve.keyFromPublic(cryptoResult.publicKey ?? "", "hex");
|
|
12345
|
+
} catch (exception) {
|
|
12346
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyDecodingFailed", exception);
|
|
12347
|
+
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
12348
|
+
}
|
|
12349
|
+
const keyValidation = keyPair.validate();
|
|
12350
|
+
if (!keyValidation.result) {
|
|
12351
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyNotOnCurve", keyValidation.reason ?? void 0);
|
|
12352
|
+
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
12353
|
+
}
|
|
12354
|
+
let signatureValid;
|
|
12355
|
+
try {
|
|
12356
|
+
signatureValid = keyPair.verify(cryptoResult.sha256value, cryptoResult.signature);
|
|
12357
|
+
} catch (exception) {
|
|
12358
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMalformed", exception);
|
|
12322
12359
|
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
12323
12360
|
}
|
|
12324
|
-
|
|
12361
|
+
if (signatureValid)
|
|
12362
|
+
return setResult("ValidSignature" /* ValidSignature */);
|
|
12363
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMismatch");
|
|
12364
|
+
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
12365
|
+
} catch (exception) {
|
|
12366
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyDecodingFailed", exception);
|
|
12325
12367
|
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
12326
12368
|
}
|
|
12327
12369
|
} else
|
|
12328
12370
|
return setResult("PublicKeyNotFound" /* PublicKeyNotFound */);
|
|
12329
12371
|
} else
|
|
12330
12372
|
return setResult("EnergyMeterNotFound" /* EnergyMeterNotFound */);
|
|
12331
|
-
} catch {
|
|
12373
|
+
} catch (exception) {
|
|
12374
|
+
this.AddVerificationError(cryptoResult, "Verification_UnexpectedError", exception);
|
|
12332
12375
|
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
12333
12376
|
}
|
|
12334
12377
|
}
|
|
12335
|
-
|
|
12378
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMissing");
|
|
12379
|
+
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
12336
12380
|
}
|
|
12337
12381
|
async ViewMeasurement(measurementValue, _errorDiv, introDiv, infoDiv, PlainTextDiv, HashedPlainTextDiv, PublicKeyDiv, SignatureExpectedDiv, SignatureCheckDiv) {
|
|
12338
12382
|
if (measurementValue.measurement?.chargingSession?.authorizationStart?.timestamp === void 0) {
|
|
@@ -12671,19 +12715,38 @@ var MennekesCrypt01 = class extends ACrypt {
|
|
|
12671
12715
|
);
|
|
12672
12716
|
cryptoResult.hashValue = (await sha256(new DataView(signedDataBuffer))).substring(0, 48);
|
|
12673
12717
|
const publicKey = cleanHex(meter.publicKeys.at(0)?.value ?? measurement.publicKey);
|
|
12674
|
-
if (publicKey.length !== 96)
|
|
12718
|
+
if (publicKey.length !== 96) {
|
|
12719
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyDecodingFailed");
|
|
12675
12720
|
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
12676
|
-
|
|
12677
|
-
|
|
12678
|
-
|
|
12721
|
+
}
|
|
12722
|
+
let keyPair;
|
|
12723
|
+
try {
|
|
12724
|
+
keyPair = this.curve192r1.keyFromPublic("04" + publicKey, "hex");
|
|
12725
|
+
} catch (exception) {
|
|
12726
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyDecodingFailed", exception);
|
|
12727
|
+
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
12728
|
+
}
|
|
12729
|
+
const keyValidation = keyPair.validate();
|
|
12730
|
+
if (!keyValidation.result) {
|
|
12731
|
+
this.AddVerificationError(cryptoResult, "Verification_PublicKeyNotOnCurve", keyValidation.reason ?? void 0);
|
|
12732
|
+
return setResult("InvalidPublicKey" /* InvalidPublicKey */);
|
|
12733
|
+
}
|
|
12734
|
+
let signatureValid;
|
|
12735
|
+
try {
|
|
12736
|
+
signatureValid = keyPair.verify(cryptoResult.hashValue.toUpperCase(), {
|
|
12679
12737
|
r: signatureExpected.r,
|
|
12680
12738
|
s: signatureExpected.s
|
|
12681
|
-
}
|
|
12682
|
-
)
|
|
12683
|
-
|
|
12684
|
-
|
|
12685
|
-
|
|
12686
|
-
|
|
12739
|
+
});
|
|
12740
|
+
} catch (exception) {
|
|
12741
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMalformed", exception);
|
|
12742
|
+
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
12743
|
+
}
|
|
12744
|
+
if (signatureValid)
|
|
12745
|
+
return setResult("ValidSignature" /* ValidSignature */);
|
|
12746
|
+
this.AddVerificationError(cryptoResult, "Verification_SignatureMismatch");
|
|
12747
|
+
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
12748
|
+
} catch (exception) {
|
|
12749
|
+
this.AddVerificationError(cryptoResult, "Verification_UnexpectedError", exception);
|
|
12687
12750
|
return setResult("InvalidSignature" /* InvalidSignature */);
|
|
12688
12751
|
}
|
|
12689
12752
|
}
|
|
@@ -13661,7 +13724,9 @@ var OCMF = class {
|
|
|
13661
13724
|
// "value": ocmfJSONDocument.signature["SD"]
|
|
13662
13725
|
// }],
|
|
13663
13726
|
"result": {
|
|
13664
|
-
"status": ocmfJSONDocument.validationStatus ?? "Unvalidated" /* Unvalidated
|
|
13727
|
+
"status": ocmfJSONDocument.validationStatus ?? "Unvalidated" /* Unvalidated */,
|
|
13728
|
+
// Surface the per-document verification diagnostics on the measurement value.
|
|
13729
|
+
...ocmfJSONDocument.validationErrors && ocmfJSONDocument.validationErrors.length > 0 ? { errors: ocmfJSONDocument.validationErrors } : {}
|
|
13665
13730
|
},
|
|
13666
13731
|
"ocmfDocument": ocmfJSONDocument
|
|
13667
13732
|
});
|
|
@@ -13806,6 +13871,20 @@ var OCMF = class {
|
|
|
13806
13871
|
// return mergedCTR;
|
|
13807
13872
|
// }
|
|
13808
13873
|
// //#endregion
|
|
13874
|
+
// Records why a verification step failed as structured data: a stable reason
|
|
13875
|
+
// key (localized via i18n.json and machine-switchable by the GUI) plus an
|
|
13876
|
+
// optional, language-neutral technical detail. Presentation is left to the GUI.
|
|
13877
|
+
AddValidationError(OCMFJSONDocument, reasonKey, detail) {
|
|
13878
|
+
const details = detail instanceof Error ? detail.message : typeof detail === "string" ? detail : void 0;
|
|
13879
|
+
(OCMFJSONDocument.validationErrors ??= []).push(
|
|
13880
|
+
CreateError(
|
|
13881
|
+
this.chargy.GetMultilanguageText(reasonKey),
|
|
13882
|
+
"high" /* high */,
|
|
13883
|
+
reasonKey,
|
|
13884
|
+
details
|
|
13885
|
+
)
|
|
13886
|
+
);
|
|
13887
|
+
}
|
|
13809
13888
|
//#region (private) validateOCMFSignature(OCMFJSONDocument, PublicKey, PublicKeyEncoding?)
|
|
13810
13889
|
async validateOCMFSignature(OCMFJSONDocument, PublicKey, PublicKeyEncoding) {
|
|
13811
13890
|
try {
|
|
@@ -13845,7 +13924,8 @@ var OCMF = class {
|
|
|
13845
13924
|
curve = new this.chargy.elliptic.ec("p256");
|
|
13846
13925
|
break;
|
|
13847
13926
|
}
|
|
13848
|
-
} catch {
|
|
13927
|
+
} catch (exception) {
|
|
13928
|
+
this.AddValidationError(OCMFJSONDocument, "Verification_UnknownSignatureFormat", exception);
|
|
13849
13929
|
OCMFJSONDocument.validationStatus = "UnknownSignatureFormat" /* UnknownSignatureFormat */;
|
|
13850
13930
|
return OCMFJSONDocument.validationStatus;
|
|
13851
13931
|
}
|
|
@@ -13922,20 +14002,26 @@ var OCMF = class {
|
|
|
13922
14002
|
y: OCMFJSONDocument.publicKey.y
|
|
13923
14003
|
}, "hex");
|
|
13924
14004
|
}
|
|
13925
|
-
} catch {
|
|
14005
|
+
} catch (exception) {
|
|
14006
|
+
this.AddValidationError(OCMFJSONDocument, "Verification_PublicKeyDecodingFailed", exception);
|
|
13926
14007
|
OCMFJSONDocument.validationStatus = "InvalidPublicKey" /* InvalidPublicKey */;
|
|
13927
14008
|
return OCMFJSONDocument.validationStatus;
|
|
13928
14009
|
}
|
|
13929
14010
|
try {
|
|
13930
14011
|
if (publicKey === null)
|
|
13931
14012
|
throw new Error("Missing public key!");
|
|
13932
|
-
|
|
14013
|
+
const signatureValid = publicKey.verify(OCMFJSONDocument.hashValue, OCMFJSONDocument.signatureRS);
|
|
14014
|
+
if (!signatureValid)
|
|
14015
|
+
this.AddValidationError(OCMFJSONDocument, "Verification_SignatureMismatch");
|
|
14016
|
+
OCMFJSONDocument.validationStatus = signatureValid ? "ValidSignature" /* ValidSignature */ : "InvalidSignature" /* InvalidSignature */;
|
|
13933
14017
|
return await Promise.resolve(OCMFJSONDocument.validationStatus);
|
|
13934
|
-
} catch {
|
|
14018
|
+
} catch (exception) {
|
|
14019
|
+
this.AddValidationError(OCMFJSONDocument, "Verification_SignatureMalformed", exception);
|
|
13935
14020
|
OCMFJSONDocument.validationStatus = "InvalidSignature" /* InvalidSignature */;
|
|
13936
14021
|
return OCMFJSONDocument.validationStatus;
|
|
13937
14022
|
}
|
|
13938
|
-
} catch {
|
|
14023
|
+
} catch (exception) {
|
|
14024
|
+
this.AddValidationError(OCMFJSONDocument, "Verification_UnexpectedError", exception);
|
|
13939
14025
|
OCMFJSONDocument.validationStatus = "InvalidSignature" /* InvalidSignature */;
|
|
13940
14026
|
return OCMFJSONDocument.validationStatus;
|
|
13941
14027
|
}
|
|
@@ -17878,6 +17964,26 @@ var Chargy = class {
|
|
|
17878
17964
|
return textContent.replace(/\s+/g, "");
|
|
17879
17965
|
return void 0;
|
|
17880
17966
|
}
|
|
17967
|
+
TryToCreatePublicKeyLookup(processedFiles) {
|
|
17968
|
+
if (processedFiles.length === 0)
|
|
17969
|
+
return void 0;
|
|
17970
|
+
const publicKeys = new Array();
|
|
17971
|
+
for (const processedFile of processedFiles) {
|
|
17972
|
+
if (IsAChargeTransparencyRecord(processedFile.result) || IsAChargeTransparencyLiveLink(processedFile.result)) {
|
|
17973
|
+
return void 0;
|
|
17974
|
+
}
|
|
17975
|
+
if (IsAPublicKey(processedFile.result))
|
|
17976
|
+
publicKeys.push(processedFile.result);
|
|
17977
|
+
else if (IsAPublicKeyLookup(processedFile.result))
|
|
17978
|
+
publicKeys.push(...processedFile.result.publicKeys);
|
|
17979
|
+
else
|
|
17980
|
+
return void 0;
|
|
17981
|
+
}
|
|
17982
|
+
if (processedFiles.length === 1 && IsAPublicKeyLookup(processedFiles[0]?.result)) {
|
|
17983
|
+
return processedFiles[0].result;
|
|
17984
|
+
}
|
|
17985
|
+
return { publicKeys };
|
|
17986
|
+
}
|
|
17881
17987
|
//#endregion
|
|
17882
17988
|
//#region QR code image files...
|
|
17883
17989
|
normalizeMIMEType(mimeType) {
|
|
@@ -18636,18 +18742,15 @@ var Chargy = class {
|
|
|
18636
18742
|
}
|
|
18637
18743
|
processedFiles.push(processedFile);
|
|
18638
18744
|
}
|
|
18745
|
+
const publicKeyLookup = this.TryToCreatePublicKeyLookup(processedFiles);
|
|
18746
|
+
if (publicKeyLookup != null)
|
|
18747
|
+
return publicKeyLookup;
|
|
18639
18748
|
if (processedFiles.length == 1) {
|
|
18640
18749
|
const processedFile = getFirstArrayElement(processedFiles, "Missing processed file");
|
|
18641
18750
|
if (IsAChargeTransparencyRecord(processedFile.result))
|
|
18642
18751
|
return this.processChargeTransparencyRecord(processedFile.result);
|
|
18643
18752
|
if (IsAChargeTransparencyLiveLink(processedFile.result))
|
|
18644
18753
|
return processedFile.result;
|
|
18645
|
-
if (IsAPublicKeyLookup(processedFile.result))
|
|
18646
|
-
return {
|
|
18647
|
-
status: "InvalidSessionFormat" /* InvalidSessionFormat */,
|
|
18648
|
-
message: this.GetMultilanguageText("UnknownOrInvalidChargeTransparencyRecord"),
|
|
18649
|
-
certainty: 0
|
|
18650
|
-
};
|
|
18651
18754
|
return processedFile.result;
|
|
18652
18755
|
} else if (processedFiles.length > 1) {
|
|
18653
18756
|
const mergedCTR = {
|