@open-charging-cloud/chargy-core 0.11.0 → 0.11.2

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
@@ -53,7 +53,7 @@ export declare class Chargy {
53
53
  private PublicKeyIdFromFileName;
54
54
  private TryToParseDERPublicKey;
55
55
  private IsHexEncodedPublicKeyFile;
56
- private TryToGetDERPublicKeyHEX;
56
+ private TryToGetPublicKeyHEX;
57
57
  private TryToCreatePublicKeyLookup;
58
58
  private normalizeMIMEType;
59
59
  private getQRCodeImageMIMETypeFromFileName;
@@ -1 +1 @@
1
- {"version":3,"file":"chargy.d.ts","sourceRoot":"","sources":["../src/chargy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chargy.d.ts","sourceRoot":"","sources":["../src/chargy.ts"],"names":[],"mappings":"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"}
@@ -10431,33 +10431,58 @@ var Chargy = class {
10431
10431
  );
10432
10432
  });
10433
10433
  const publicKeyDER = ASN1_PublicKey.decode(publicKeyBuffer, "der");
10434
- const KeyType_OID = publicKeyDER.oids[0].join(".");
10434
+ const firstOID = publicKeyDER.oids[0];
10435
+ if (firstOID === void 0)
10436
+ throw new Error("The SubjectPublicKeyInfo algorithm identifier is missing!");
10437
+ const KeyType_OID = firstOID.join(".");
10435
10438
  let KeyType = "unknown";
10436
10439
  switch (KeyType_OID) {
10437
10440
  case "1.2.840.10045.2.1":
10438
10441
  KeyType = "ecPublicKey";
10439
10442
  break;
10443
+ case "1.3.101.112":
10444
+ case "1.3.101.113":
10445
+ KeyType = "EdDSA";
10446
+ break;
10447
+ case "2.16.840.1.101.3.4.3.18":
10448
+ KeyType = "ML-DSA";
10449
+ break;
10440
10450
  }
10441
- const Curve_OID = publicKeyDER.oids[1].join(".");
10442
- let Curve = "unknown";
10443
- switch (Curve_OID) {
10451
+ const Algorithm_OID = publicKeyDER.oids[1]?.join(".") ?? KeyType_OID;
10452
+ let Algorithm = "unknown";
10453
+ switch (Algorithm_OID) {
10454
+ case "1.3.101.112":
10455
+ Algorithm = "Ed25519";
10456
+ break;
10457
+ case "1.3.101.113":
10458
+ Algorithm = "Ed448";
10459
+ break;
10460
+ case "2.16.840.1.101.3.4.3.18":
10461
+ Algorithm = "ML-DSA-65";
10462
+ break;
10444
10463
  // Koblitz 224-bit curve
10445
10464
  case "1.3.132.0.32":
10446
- Curve = "secp224k1";
10465
+ Algorithm = "secp224k1";
10447
10466
  break;
10448
10467
  // NIST/ANSI X9.62 named 256-bit elliptic curve used with SHA256
10449
10468
  case "1.2.840.10045.3.1.7":
10450
- Curve = "secp256r1";
10469
+ Algorithm = "secp256r1";
10451
10470
  break;
10452
10471
  // NIST/ANSI X9.62 named 384-bit elliptic curve used with SHA384
10453
10472
  case "1.3.132.0.34":
10454
- Curve = "secp384r1";
10473
+ Algorithm = "secp384r1";
10455
10474
  break;
10456
10475
  // NIST/ANSI X9.62 named 521-bit elliptic curve used with SHA512
10457
10476
  case "1.3.132.0.35":
10458
- Curve = "secp521r1";
10477
+ Algorithm = "secp521r1";
10459
10478
  break;
10460
10479
  }
10480
+ const publicKeyData = new Uint8Array(publicKeyDER.publicKey.data);
10481
+ const expectedLength = Algorithm === "Ed25519" ? 32 : Algorithm === "Ed448" ? 57 : Algorithm === "ML-DSA-65" ? 1952 : void 0;
10482
+ if (publicKeyDER.publicKey.unused !== void 0 && publicKeyDER.publicKey.unused !== 0)
10483
+ throw new Error("The SubjectPublicKeyInfo public key has unused bits!");
10484
+ if (expectedLength !== void 0 && publicKeyData.length !== expectedLength)
10485
+ throw new Error(`Invalid ${Algorithm} public key length: expected ${expectedLength} bytes, got ${publicKeyData.length}!`);
10461
10486
  return {
10462
10487
  "@id": keyId,
10463
10488
  "@context": "https://open.charging.cloud/contexts/CTR+json",
@@ -10466,15 +10491,15 @@ var Chargy = class {
10466
10491
  "@id": keyId,
10467
10492
  "@context": "https://open.charging.cloud/contexts/publicKey+json",
10468
10493
  "subject": keyId,
10469
- type: {
10494
+ type: KeyType === "EdDSA" || KeyType === "ML-DSA" ? KeyType : {
10470
10495
  oid: KeyType_OID,
10471
10496
  name: KeyType
10472
10497
  },
10473
10498
  algorithm: {
10474
- oid: Curve_OID,
10475
- name: Curve
10499
+ oid: Algorithm_OID,
10500
+ name: Algorithm
10476
10501
  },
10477
- value: buf2hex(publicKeyDER.publicKey.data),
10502
+ value: buf2hex(publicKeyData),
10478
10503
  certainty: 0
10479
10504
  }
10480
10505
  ]
@@ -10488,15 +10513,36 @@ var Chargy = class {
10488
10513
  const publicKeyHEX = textContent.replace(/\s+/g, "");
10489
10514
  return publicKeyFile && publicKeyHEX.length >= 80 && publicKeyHEX.length % 2 === 0 && publicKeyHEX.startsWith("30") && /^[0-9a-fA-F]+$/.test(publicKeyHEX);
10490
10515
  }
10491
- TryToGetDERPublicKeyHEX(fileName, textContent) {
10516
+ TryToGetPublicKeyHEX(fileName, textContent) {
10492
10517
  if (textContent == null)
10493
10518
  return void 0;
10494
10519
  if (textContent.startsWith("-----BEGIN PUBLIC KEY-----") && textContent.endsWith("-----END PUBLIC KEY-----")) {
10495
10520
  const publicKeyPEM = textContent.replace("-----BEGIN PUBLIC KEY-----", "").replace("-----END PUBLIC KEY-----", "").split("\n").map((line) => line.trim()).filter((line) => line !== "" && !line.startsWith("#")).join("");
10496
- return buf2hex(Buffer$1.from(publicKeyPEM, "base64"));
10521
+ try {
10522
+ const publicKeyDER = Buffer$1.from(publicKeyPEM, "base64");
10523
+ const publicKey = this.TryToParseDERPublicKey(
10524
+ this.PublicKeyIdFromFileName(fileName),
10525
+ publicKeyDER
10526
+ ).publicKeys[0];
10527
+ const algorithm = typeof publicKey?.algorithm === "string" ? publicKey.algorithm : publicKey?.algorithm.name;
10528
+ return algorithm === "Ed25519" || algorithm === "Ed448" || algorithm === "ML-DSA-65" ? publicKey?.value : buf2hex(publicKeyDER);
10529
+ } catch {
10530
+ return void 0;
10531
+ }
10532
+ }
10533
+ if (this.IsHexEncodedPublicKeyFile(fileName, textContent)) {
10534
+ try {
10535
+ const publicKeyDER = Buffer$1.from(textContent.replace(/\s+/g, ""), "hex");
10536
+ const publicKey = this.TryToParseDERPublicKey(
10537
+ this.PublicKeyIdFromFileName(fileName),
10538
+ publicKeyDER
10539
+ ).publicKeys[0];
10540
+ const algorithm = typeof publicKey?.algorithm === "string" ? publicKey.algorithm : publicKey?.algorithm.name;
10541
+ return algorithm === "Ed25519" || algorithm === "Ed448" || algorithm === "ML-DSA-65" ? publicKey?.value : buf2hex(publicKeyDER);
10542
+ } catch {
10543
+ return void 0;
10544
+ }
10497
10545
  }
10498
- if (this.IsHexEncodedPublicKeyFile(fileName, textContent))
10499
- return textContent.replace(/\s+/g, "");
10500
10546
  return void 0;
10501
10547
  }
10502
10548
  TryToCreatePublicKeyLookup(processedFiles) {
@@ -11122,7 +11168,7 @@ var Chargy = class {
11122
11168
  let textContent = new TextDecoder("utf-8").decode(expandedFile.data).trim();
11123
11169
  if (textContent.charCodeAt(0) === 65279)
11124
11170
  textContent = textContent.substring(1);
11125
- const publicKeyHEX = this.TryToGetDERPublicKeyHEX(expandedFile.name, textContent);
11171
+ const publicKeyHEX = this.TryToGetPublicKeyHEX(expandedFile.name, textContent);
11126
11172
  if (publicKeyHEX != null)
11127
11173
  publicKeyHEXLookup.set(this.PublicKeyIdFromFileName(expandedFile.name), publicKeyHEX);
11128
11174
  }