@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/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;
@@ -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;CACrD,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;IA8B/B,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,gBAAgB,CAAW,oBAAoB,CAAC;YAqpBhD,+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"}
1
+ {"version":3,"file":"chargy.d.ts","sourceRoot":"","sources":["../src/chargy.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -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
- return {
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
- if (result) {
9533
- return setResult("ValidSignature" /* ValidSignature */);
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
- } catch {
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
- return {};
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
- if (this.curve.keyFromPublic(publicKey, "hex").verify(
10391
- cryptoResult.sha256value,
10392
- cryptoResult.signature
10393
- )) {
10394
- if (measurementValue.errors && measurementValue.errors.length > 0)
10395
- return setResult("ValidationError" /* ValidationError */);
10396
- return setResult("ValidSignature" /* ValidSignature */);
10397
- }
10398
- if (measurementValue.errors && measurementValue.errors.length > 0)
10399
- return setResult("ValidationError" /* ValidationError */);
10400
- return setResult("InvalidSignature" /* InvalidSignature */);
10401
- } catch {
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
- } catch {
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
- return {};
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
- // private DecodeStatus(statusValue: string) : Array<string>
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
- if (this.curve.keyFromPublic(cryptoResult.publicKey ?? "", "hex").verify(
12083
- cryptoResult.sha256value,
12084
- cryptoResult.signature
12085
- )) {
12086
- return setResult("ValidSignature" /* ValidSignature */);
12087
- }
12088
- return setResult("InvalidSignature" /* InvalidSignature */);
12089
- } catch {
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
- } catch {
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
- return {};
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
- if (this.curve.keyFromPublic(cryptoResult.publicKey ?? "", "hex").verify(
12315
- cryptoResult.sha256value,
12316
- cryptoResult.signature
12317
- )) {
12318
- return setResult("ValidSignature" /* ValidSignature */);
12319
- }
12320
- return setResult("InvalidSignature" /* InvalidSignature */);
12321
- } catch {
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
- } catch {
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
- return {};
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
- const result = this.curve192r1.keyFromPublic("04" + publicKey, "hex").verify(
12677
- cryptoResult.hashValue.toUpperCase(),
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
- return setResult(
12684
- result ? "ValidSignature" /* ValidSignature */ : "InvalidSignature" /* InvalidSignature */
12685
- );
12686
- } catch {
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
- OCMFJSONDocument.validationStatus = publicKey.verify(OCMFJSONDocument.hashValue, OCMFJSONDocument.signatureRS) ? "ValidSignature" /* ValidSignature */ : "InvalidSignature" /* InvalidSignature */;
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 = {