@enbox/crypto 0.0.2 → 0.0.4

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.
Files changed (226) hide show
  1. package/README.md +34 -102
  2. package/dist/browser.mjs +6 -10
  3. package/dist/browser.mjs.map +4 -4
  4. package/dist/esm/algorithms/aes-ctr.js +1 -1
  5. package/dist/esm/algorithms/aes-gcm.js +35 -2
  6. package/dist/esm/algorithms/aes-gcm.js.map +1 -1
  7. package/dist/esm/algorithms/aes-kw.js +154 -0
  8. package/dist/esm/algorithms/aes-kw.js.map +1 -0
  9. package/dist/esm/algorithms/ecdsa.js +119 -6
  10. package/dist/esm/algorithms/ecdsa.js.map +1 -1
  11. package/dist/esm/algorithms/eddsa.js +99 -6
  12. package/dist/esm/algorithms/eddsa.js.map +1 -1
  13. package/dist/esm/algorithms/hkdf.js +53 -0
  14. package/dist/esm/algorithms/hkdf.js.map +1 -0
  15. package/dist/esm/algorithms/pbkdf2.js +55 -0
  16. package/dist/esm/algorithms/pbkdf2.js.map +1 -0
  17. package/dist/esm/algorithms/sha-2.js +2 -2
  18. package/dist/esm/algorithms/sha-2.js.map +1 -1
  19. package/dist/esm/algorithms/x25519.js +125 -0
  20. package/dist/esm/algorithms/x25519.js.map +1 -0
  21. package/dist/esm/crypto-error.js +41 -0
  22. package/dist/esm/crypto-error.js.map +1 -0
  23. package/dist/esm/index.js +8 -0
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/jose/jwk.js +52 -26
  26. package/dist/esm/jose/jwk.js.map +1 -1
  27. package/dist/esm/local-key-manager.js +9 -3
  28. package/dist/esm/local-key-manager.js.map +1 -1
  29. package/dist/esm/primitives/aes-ctr.js.map +1 -1
  30. package/dist/esm/primitives/aes-gcm.js.map +1 -1
  31. package/dist/esm/primitives/aes-kw.js +246 -0
  32. package/dist/esm/primitives/aes-kw.js.map +1 -0
  33. package/dist/esm/primitives/concat-kdf.js +1 -1
  34. package/dist/esm/primitives/concat-kdf.js.map +1 -1
  35. package/dist/esm/primitives/ecies-secp256k1.js +79 -0
  36. package/dist/esm/primitives/ecies-secp256k1.js.map +1 -0
  37. package/dist/esm/primitives/ed25519.js +3 -3
  38. package/dist/esm/primitives/ed25519.js.map +1 -1
  39. package/dist/esm/primitives/hkdf.js +79 -0
  40. package/dist/esm/primitives/hkdf.js.map +1 -0
  41. package/dist/esm/primitives/pbkdf2.js +49 -0
  42. package/dist/esm/primitives/pbkdf2.js.map +1 -1
  43. package/dist/esm/primitives/secp256k1.js +4 -4
  44. package/dist/esm/primitives/secp256k1.js.map +1 -1
  45. package/dist/esm/primitives/secp256r1.js +4 -4
  46. package/dist/esm/primitives/secp256r1.js.map +1 -1
  47. package/dist/esm/primitives/x25519.js +10 -17
  48. package/dist/esm/primitives/x25519.js.map +1 -1
  49. package/dist/esm/primitives/xchacha20-poly1305.js +48 -3
  50. package/dist/esm/primitives/xchacha20-poly1305.js.map +1 -1
  51. package/dist/esm/primitives/xchacha20.js +1 -1
  52. package/dist/esm/primitives/xchacha20.js.map +1 -1
  53. package/dist/esm/utils.js +30 -0
  54. package/dist/esm/utils.js.map +1 -1
  55. package/dist/types/algorithms/aes-ctr.d.ts +2 -2
  56. package/dist/types/algorithms/aes-ctr.d.ts.map +1 -1
  57. package/dist/types/algorithms/aes-gcm.d.ts +25 -5
  58. package/dist/types/algorithms/aes-gcm.d.ts.map +1 -1
  59. package/dist/types/algorithms/aes-kw.d.ts +129 -0
  60. package/dist/types/algorithms/aes-kw.d.ts.map +1 -0
  61. package/dist/types/algorithms/ecdsa.d.ts +49 -4
  62. package/dist/types/algorithms/ecdsa.d.ts.map +1 -1
  63. package/dist/types/algorithms/eddsa.d.ts +49 -4
  64. package/dist/types/algorithms/eddsa.d.ts.map +1 -1
  65. package/dist/types/algorithms/hkdf.d.ts +35 -0
  66. package/dist/types/algorithms/hkdf.d.ts.map +1 -0
  67. package/dist/types/algorithms/pbkdf2.d.ts +35 -0
  68. package/dist/types/algorithms/pbkdf2.d.ts.map +1 -0
  69. package/dist/types/algorithms/sha-2.d.ts +2 -2
  70. package/dist/types/algorithms/sha-2.d.ts.map +1 -1
  71. package/dist/types/algorithms/x25519.d.ts +76 -0
  72. package/dist/types/algorithms/x25519.d.ts.map +1 -0
  73. package/dist/types/crypto-error.d.ts +29 -0
  74. package/dist/types/crypto-error.d.ts.map +1 -0
  75. package/dist/types/index.d.ts +8 -0
  76. package/dist/types/index.d.ts.map +1 -1
  77. package/dist/types/jose/jwk.d.ts.map +1 -1
  78. package/dist/types/local-key-manager.d.ts +6 -6
  79. package/dist/types/local-key-manager.d.ts.map +1 -1
  80. package/dist/types/primitives/aes-kw.d.ts +103 -0
  81. package/dist/types/primitives/aes-kw.d.ts.map +1 -0
  82. package/dist/types/primitives/concat-kdf.d.ts +1 -1
  83. package/dist/types/primitives/concat-kdf.d.ts.map +1 -1
  84. package/dist/types/primitives/ecies-secp256k1.d.ts +53 -0
  85. package/dist/types/primitives/ecies-secp256k1.d.ts.map +1 -0
  86. package/dist/types/primitives/hkdf.d.ts +90 -0
  87. package/dist/types/primitives/hkdf.d.ts.map +1 -0
  88. package/dist/types/primitives/pbkdf2.d.ts +58 -0
  89. package/dist/types/primitives/pbkdf2.d.ts.map +1 -1
  90. package/dist/types/primitives/x25519.d.ts +9 -16
  91. package/dist/types/primitives/x25519.d.ts.map +1 -1
  92. package/dist/types/primitives/xchacha20-poly1305.d.ts +47 -0
  93. package/dist/types/primitives/xchacha20-poly1305.d.ts.map +1 -1
  94. package/dist/types/types/cipher.d.ts +1 -1
  95. package/dist/types/types/crypto-api.d.ts +54 -6
  96. package/dist/types/types/crypto-api.d.ts.map +1 -1
  97. package/dist/types/types/key-converter.d.ts +37 -15
  98. package/dist/types/types/key-converter.d.ts.map +1 -1
  99. package/dist/types/types/key-deriver.d.ts +41 -0
  100. package/dist/types/types/key-deriver.d.ts.map +1 -1
  101. package/dist/types/types/key-io.d.ts +37 -0
  102. package/dist/types/types/key-io.d.ts.map +1 -1
  103. package/dist/types/types/params-direct.d.ts +96 -1
  104. package/dist/types/types/params-direct.d.ts.map +1 -1
  105. package/dist/types/types/params-kms.d.ts +55 -0
  106. package/dist/types/types/params-kms.d.ts.map +1 -1
  107. package/dist/types/utils.d.ts +19 -0
  108. package/dist/types/utils.d.ts.map +1 -1
  109. package/dist/utils.js +1 -1
  110. package/dist/utils.js.map +4 -4
  111. package/package.json +29 -45
  112. package/src/algorithms/aes-ctr.ts +2 -2
  113. package/src/algorithms/aes-gcm.ts +41 -4
  114. package/src/algorithms/aes-kw.ts +182 -0
  115. package/src/algorithms/ecdsa.ts +145 -8
  116. package/src/algorithms/eddsa.ts +117 -10
  117. package/src/algorithms/hkdf.ts +54 -0
  118. package/src/algorithms/pbkdf2.ts +57 -0
  119. package/src/algorithms/sha-2.ts +3 -3
  120. package/src/algorithms/x25519.ts +153 -0
  121. package/src/crypto-error.ts +45 -0
  122. package/src/index.ts +8 -0
  123. package/src/jose/jwk.ts +32 -32
  124. package/src/local-key-manager.ts +22 -16
  125. package/src/primitives/aes-ctr.ts +1 -1
  126. package/src/primitives/aes-gcm.ts +5 -5
  127. package/src/primitives/aes-kw.ts +269 -0
  128. package/src/primitives/concat-kdf.ts +4 -2
  129. package/src/primitives/ecies-secp256k1.ts +113 -0
  130. package/src/primitives/ed25519.ts +6 -6
  131. package/src/primitives/hkdf.ts +121 -0
  132. package/src/primitives/pbkdf2.ts +91 -0
  133. package/src/primitives/secp256k1.ts +6 -6
  134. package/src/primitives/secp256r1.ts +6 -6
  135. package/src/primitives/x25519.ts +12 -19
  136. package/src/primitives/xchacha20-poly1305.ts +57 -4
  137. package/src/primitives/xchacha20.ts +1 -1
  138. package/src/types/cipher.ts +1 -1
  139. package/src/types/crypto-api.ts +129 -11
  140. package/src/types/key-converter.ts +33 -7
  141. package/src/types/key-deriver.ts +49 -0
  142. package/src/types/key-io.ts +40 -0
  143. package/src/types/params-direct.ts +118 -1
  144. package/src/types/params-kms.ts +67 -0
  145. package/src/utils.ts +55 -2
  146. package/dist/browser.js +0 -64
  147. package/dist/browser.js.map +0 -7
  148. package/dist/cjs/algorithms/aes-ctr.js +0 -188
  149. package/dist/cjs/algorithms/aes-ctr.js.map +0 -1
  150. package/dist/cjs/algorithms/aes-gcm.js +0 -196
  151. package/dist/cjs/algorithms/aes-gcm.js.map +0 -1
  152. package/dist/cjs/algorithms/crypto-algorithm.js +0 -13
  153. package/dist/cjs/algorithms/crypto-algorithm.js.map +0 -1
  154. package/dist/cjs/algorithms/ecdsa.js +0 -352
  155. package/dist/cjs/algorithms/ecdsa.js.map +0 -1
  156. package/dist/cjs/algorithms/eddsa.js +0 -325
  157. package/dist/cjs/algorithms/eddsa.js.map +0 -1
  158. package/dist/cjs/algorithms/sha-2.js +0 -119
  159. package/dist/cjs/algorithms/sha-2.js.map +0 -1
  160. package/dist/cjs/index.js +0 -41
  161. package/dist/cjs/index.js.map +0 -1
  162. package/dist/cjs/jose/jwe.js +0 -3
  163. package/dist/cjs/jose/jwe.js.map +0 -1
  164. package/dist/cjs/jose/jwk.js +0 -278
  165. package/dist/cjs/jose/jwk.js.map +0 -1
  166. package/dist/cjs/jose/jws.js +0 -3
  167. package/dist/cjs/jose/jws.js.map +0 -1
  168. package/dist/cjs/jose/jwt.js +0 -3
  169. package/dist/cjs/jose/jwt.js.map +0 -1
  170. package/dist/cjs/jose/utils.js +0 -60
  171. package/dist/cjs/jose/utils.js.map +0 -1
  172. package/dist/cjs/local-key-manager.js +0 -521
  173. package/dist/cjs/local-key-manager.js.map +0 -1
  174. package/dist/cjs/package.json +0 -1
  175. package/dist/cjs/primitives/aes-ctr.js +0 -398
  176. package/dist/cjs/primitives/aes-ctr.js.map +0 -1
  177. package/dist/cjs/primitives/aes-gcm.js +0 -425
  178. package/dist/cjs/primitives/aes-gcm.js.map +0 -1
  179. package/dist/cjs/primitives/concat-kdf.js +0 -215
  180. package/dist/cjs/primitives/concat-kdf.js.map +0 -1
  181. package/dist/cjs/primitives/ed25519.js +0 -651
  182. package/dist/cjs/primitives/ed25519.js.map +0 -1
  183. package/dist/cjs/primitives/pbkdf2.js +0 -120
  184. package/dist/cjs/primitives/pbkdf2.js.map +0 -1
  185. package/dist/cjs/primitives/secp256k1.js +0 -958
  186. package/dist/cjs/primitives/secp256k1.js.map +0 -1
  187. package/dist/cjs/primitives/secp256r1.js +0 -959
  188. package/dist/cjs/primitives/secp256r1.js.map +0 -1
  189. package/dist/cjs/primitives/sha256.js +0 -93
  190. package/dist/cjs/primitives/sha256.js.map +0 -1
  191. package/dist/cjs/primitives/x25519.js +0 -498
  192. package/dist/cjs/primitives/x25519.js.map +0 -1
  193. package/dist/cjs/primitives/xchacha20-poly1305.js +0 -340
  194. package/dist/cjs/primitives/xchacha20-poly1305.js.map +0 -1
  195. package/dist/cjs/primitives/xchacha20.js +0 -316
  196. package/dist/cjs/primitives/xchacha20.js.map +0 -1
  197. package/dist/cjs/types/cipher.js +0 -3
  198. package/dist/cjs/types/cipher.js.map +0 -1
  199. package/dist/cjs/types/crypto-api.js +0 -3
  200. package/dist/cjs/types/crypto-api.js.map +0 -1
  201. package/dist/cjs/types/hasher.js +0 -3
  202. package/dist/cjs/types/hasher.js.map +0 -1
  203. package/dist/cjs/types/identifier.js +0 -3
  204. package/dist/cjs/types/identifier.js.map +0 -1
  205. package/dist/cjs/types/key-compressor.js +0 -3
  206. package/dist/cjs/types/key-compressor.js.map +0 -1
  207. package/dist/cjs/types/key-converter.js +0 -3
  208. package/dist/cjs/types/key-converter.js.map +0 -1
  209. package/dist/cjs/types/key-deriver.js +0 -3
  210. package/dist/cjs/types/key-deriver.js.map +0 -1
  211. package/dist/cjs/types/key-generator.js +0 -3
  212. package/dist/cjs/types/key-generator.js.map +0 -1
  213. package/dist/cjs/types/key-io.js +0 -3
  214. package/dist/cjs/types/key-io.js.map +0 -1
  215. package/dist/cjs/types/key-wrapper.js +0 -3
  216. package/dist/cjs/types/key-wrapper.js.map +0 -1
  217. package/dist/cjs/types/params-direct.js +0 -3
  218. package/dist/cjs/types/params-direct.js.map +0 -1
  219. package/dist/cjs/types/params-enclosed.js +0 -3
  220. package/dist/cjs/types/params-enclosed.js.map +0 -1
  221. package/dist/cjs/types/params-kms.js +0 -3
  222. package/dist/cjs/types/params-kms.js.map +0 -1
  223. package/dist/cjs/types/signer.js +0 -3
  224. package/dist/cjs/types/signer.js.map +0 -1
  225. package/dist/cjs/utils.js +0 -173
  226. package/dist/cjs/utils.js.map +0 -1
@@ -0,0 +1,53 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __rest = (this && this.__rest) || function (s, e) {
11
+ var t = {};
12
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
+ t[p] = s[p];
14
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
+ t[p[i]] = s[p[i]];
18
+ }
19
+ return t;
20
+ };
21
+ import { CryptoAlgorithm } from './crypto-algorithm.js';
22
+ import { Hkdf } from '../primitives/hkdf.js';
23
+ /**
24
+ * The `HkdfAlgorithm` class provides a concrete implementation for HKDF key derivation. It wraps
25
+ * the {@link Hkdf} primitive and maps JOSE algorithm names to hash functions.
26
+ */
27
+ export class HkdfAlgorithm extends CryptoAlgorithm {
28
+ /**
29
+ * Derives a cryptographic byte array using HKDF.
30
+ *
31
+ * @param params - The parameters for the key derivation operation.
32
+ * @param params.algorithm - The HKDF algorithm variant (e.g., `'HKDF-256'`).
33
+ * @param params.baseKeyBytes - The input key material.
34
+ * @param params.length - The desired length of the output in bits.
35
+ *
36
+ * @returns A Promise that resolves to the derived key bytes.
37
+ */
38
+ deriveKeyBytes(_a) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ var { algorithm } = _a, params = __rest(_a, ["algorithm"]);
41
+ // Map algorithm name to hash function.
42
+ const hash = {
43
+ 'HKDF-256': 'SHA-256',
44
+ 'HKDF-384': 'SHA-384',
45
+ 'HKDF-512': 'SHA-512'
46
+ }[algorithm];
47
+ // Derive a cryptographic byte array using HKDF.
48
+ const derivedKeyBytes = yield Hkdf.deriveKeyBytes(Object.assign(Object.assign({}, params), { hash }));
49
+ return derivedKeyBytes;
50
+ });
51
+ }
52
+ }
53
+ //# sourceMappingURL=hkdf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hkdf.js","sourceRoot":"","sources":["../../../src/algorithms/hkdf.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAgB7C;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,eAAe;IAGhD;;;;;;;;;OASG;IACU,cAAc,CAAC,EACyB;;gBADzB,EAAE,SAAS,OACc,EADT,MAAM,cAAtB,aAAwB,CAAF;YAGhD,uCAAuC;YACvC,MAAM,IAAI,GAAG;gBACX,UAAU,EAAG,SAAkB;gBAC/B,UAAU,EAAG,SAAkB;gBAC/B,UAAU,EAAG,SAAkB;aAChC,CAAC,SAAS,CAAC,CAAC;YAEb,gDAAgD;YAChD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,iCAAM,MAAM,KAAE,IAAI,IAAG,CAAC;YAEvE,OAAO,eAAe,CAAC;QACzB,CAAC;KAAA;CACF"}
@@ -0,0 +1,55 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __rest = (this && this.__rest) || function (s, e) {
11
+ var t = {};
12
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
+ t[p] = s[p];
14
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
+ t[p[i]] = s[p[i]];
18
+ }
19
+ return t;
20
+ };
21
+ import { CryptoAlgorithm } from './crypto-algorithm.js';
22
+ import { Pbkdf2 } from '../primitives/pbkdf2.js';
23
+ /**
24
+ * The `Pbkdf2Algorithm` class provides a concrete implementation for PBKDF2 key derivation. It
25
+ * wraps the {@link Pbkdf2} primitive and maps PBES2 JOSE algorithm names to hash functions.
26
+ */
27
+ export class Pbkdf2Algorithm extends CryptoAlgorithm {
28
+ /**
29
+ * Derives a cryptographic byte array using PBKDF2.
30
+ *
31
+ * @param params - The parameters for the key derivation operation.
32
+ * @param params.algorithm - The PBES2 algorithm variant (e.g., `'PBES2-HS512+A256KW'`).
33
+ * @param params.baseKeyBytes - The password or passphrase as bytes.
34
+ * @param params.length - The desired length of the output in bits.
35
+ *
36
+ * @returns A Promise that resolves to the derived key bytes.
37
+ */
38
+ deriveKeyBytes(_a) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ var { algorithm } = _a, params = __rest(_a, ["algorithm"]);
41
+ // Extract the hash function component of the `algorithm` parameter.
42
+ const [, hashFunction] = algorithm.split(/[-+]/);
43
+ // Map from JOSE algorithm name to "SHA" hash function identifier.
44
+ const hash = {
45
+ 'HS256': 'SHA-256',
46
+ 'HS384': 'SHA-384',
47
+ 'HS512': 'SHA-512'
48
+ }[hashFunction];
49
+ // Derive a cryptographic byte array using PBKDF2.
50
+ const derivedKeyBytes = yield Pbkdf2.deriveKeyBytes(Object.assign(Object.assign({}, params), { hash }));
51
+ return derivedKeyBytes;
52
+ });
53
+ }
54
+ }
55
+ //# sourceMappingURL=pbkdf2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../../../src/algorithms/pbkdf2.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAgBjD;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,eAAe;IAGlD;;;;;;;;;OASG;IACU,cAAc,CAAC,EAC6B;;gBAD7B,EAAE,SAAS,OACkB,EADb,MAAM,cAAtB,aAAwB,CAAF;YAGhD,oEAAoE;YACpE,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEjD,kEAAkE;YAClE,MAAM,IAAI,GAAG;gBACX,OAAO,EAAG,SAAkB;gBAC5B,OAAO,EAAG,SAAkB;gBAC5B,OAAO,EAAG,SAAkB;aAC7B,CAAC,YAAY,CAAE,CAAC;YAEjB,kDAAkD;YAClD,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,cAAc,iCAAM,MAAM,KAAE,IAAI,IAAG,CAAC;YAEzE,OAAO,eAAe,CAAC;QACzB,CAAC;KAAA;CACF"}
@@ -7,15 +7,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { Sha256 } from '../primitives/sha256.js';
11
10
  import { CryptoAlgorithm } from './crypto-algorithm.js';
11
+ import { Sha256 } from '../primitives/sha256.js';
12
12
  /**
13
13
  * The `Sha2Algorithm` class is an implementation of the {@link Hasher | `Hasher`} interface for the
14
14
  * SHA-2 family of cryptographic hash functions. The `digest` method takes the algorithm identifier
15
15
  * of the hash function and arbitrary data as input and returns the hash digest of the data.
16
16
  *
17
17
  * This class is typically accessed through implementations that extend the
18
- * {@link CryptoApi | `CryptoApi`} interface.
18
+ * {@link DsaApi | `DsaApi`} interface.
19
19
  */
20
20
  export class Sha2Algorithm extends CryptoAlgorithm {
21
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sha-2.js","sourceRoot":"","sources":["../../../src/algorithms/sha-2.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAcxD;;;;;;;GAOG;AACH,MAAM,OAAO,aAAc,SAAQ,eAAe;IAGhD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACU,MAAM;6DAAC,EAAE,SAAS,EAAE,IAAI,EAAoB;YACvD,QAAQ,SAAS,EAAE,CAAC;gBAElB,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC3C,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QAEH,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"sha-2.js","sourceRoot":"","sources":["../../../src/algorithms/sha-2.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAcjD;;;;;;;GAOG;AACH,MAAM,OAAO,aAAc,SAAQ,eAAe;IAGhD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACU,MAAM;6DAAC,EAAE,SAAS,EAAE,IAAI,EAAoB;YACvD,QAAQ,SAAS,EAAE,CAAC;gBAElB,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC3C,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QAEH,CAAC;KAAA;CACF"}
@@ -0,0 +1,125 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { CryptoAlgorithm } from './crypto-algorithm.js';
11
+ import { isOkpPrivateJwk } from '../jose/jwk.js';
12
+ import { X25519 } from '../primitives/x25519.js';
13
+ import { CryptoError, CryptoErrorCode } from '../crypto-error.js';
14
+ /**
15
+ * The `X25519Algorithm` class provides a concrete implementation for key generation,
16
+ * public key derivation, and key conversion using the X25519 elliptic curve. X25519 is a
17
+ * key agreement curve (not a signature curve) used for ECDH key exchange in JWE encryption.
18
+ *
19
+ * This class implements the {@link AsymmetricKeyGenerator | `AsymmetricKeyGenerator`} and
20
+ * {@link KeyConverter | `KeyConverter`} interfaces, providing private key generation,
21
+ * public key derivation, and byte/JWK conversion.
22
+ */
23
+ export class X25519Algorithm extends CryptoAlgorithm {
24
+ /**
25
+ * Converts a raw private key in bytes to its corresponding JWK format.
26
+ *
27
+ * @param params - The parameters for the private key conversion.
28
+ * @param params.algorithm - Must be `'X25519'`.
29
+ * @param params.privateKeyBytes - The raw private key as a Uint8Array.
30
+ *
31
+ * @returns A Promise that resolves to the private key in JWK format.
32
+ */
33
+ bytesToPrivateKey(_a) {
34
+ return __awaiter(this, arguments, void 0, function* ({ algorithm, privateKeyBytes }) {
35
+ switch (algorithm) {
36
+ case 'X25519': {
37
+ return X25519.bytesToPrivateKey({ privateKeyBytes });
38
+ }
39
+ default: {
40
+ throw new CryptoError(CryptoErrorCode.AlgorithmNotSupported, `Algorithm not supported: ${algorithm}`);
41
+ }
42
+ }
43
+ });
44
+ }
45
+ /**
46
+ * Derives the public key in JWK format from a given X25519 private key.
47
+ *
48
+ * @param params - The parameters for the public key derivation.
49
+ * @param params.key - The private key in JWK format from which to derive the public key.
50
+ *
51
+ * @returns A Promise that resolves to the derived public key in JWK format.
52
+ */
53
+ computePublicKey(_a) {
54
+ return __awaiter(this, arguments, void 0, function* ({ key }) {
55
+ if (!isOkpPrivateJwk(key)) {
56
+ throw new TypeError('Invalid key provided. Must be an octet key pair (OKP) private key.');
57
+ }
58
+ switch (key.crv) {
59
+ case 'X25519': {
60
+ return X25519.computePublicKey({ key });
61
+ }
62
+ default: {
63
+ throw new CryptoError(CryptoErrorCode.AlgorithmNotSupported, `Unsupported curve: ${key.crv}`);
64
+ }
65
+ }
66
+ });
67
+ }
68
+ /**
69
+ * Generates a new X25519 private key in JWK format.
70
+ *
71
+ * @param params - The parameters for key generation.
72
+ * @param params.algorithm - Must be `'X25519'`.
73
+ *
74
+ * @returns A Promise that resolves to the generated private key in JWK format.
75
+ */
76
+ generateKey(_a) {
77
+ return __awaiter(this, arguments, void 0, function* ({ algorithm }) {
78
+ switch (algorithm) {
79
+ case 'X25519': {
80
+ return X25519.generateKey();
81
+ }
82
+ default: {
83
+ throw new CryptoError(CryptoErrorCode.AlgorithmNotSupported, `Algorithm not supported: ${algorithm}`);
84
+ }
85
+ }
86
+ });
87
+ }
88
+ /**
89
+ * Retrieves the public key properties from a given X25519 private key in JWK format.
90
+ *
91
+ * @param params - The parameters for retrieving the public key properties.
92
+ * @param params.key - The private key in JWK format.
93
+ *
94
+ * @returns A Promise that resolves to the public key in JWK format.
95
+ */
96
+ getPublicKey(_a) {
97
+ return __awaiter(this, arguments, void 0, function* ({ key }) {
98
+ if (!isOkpPrivateJwk(key)) {
99
+ throw new TypeError('Invalid key provided. Must be an octet key pair (OKP) private key.');
100
+ }
101
+ switch (key.crv) {
102
+ case 'X25519': {
103
+ return X25519.getPublicKey({ key });
104
+ }
105
+ default: {
106
+ throw new CryptoError(CryptoErrorCode.AlgorithmNotSupported, `Unsupported curve: ${key.crv}`);
107
+ }
108
+ }
109
+ });
110
+ }
111
+ /**
112
+ * Converts a private key from JWK format to a byte array.
113
+ *
114
+ * @param params - The parameters for the private key conversion.
115
+ * @param params.privateKey - The private key in JWK format.
116
+ *
117
+ * @returns A Promise that resolves to the private key as a Uint8Array.
118
+ */
119
+ privateKeyToBytes(_a) {
120
+ return __awaiter(this, arguments, void 0, function* ({ privateKey }) {
121
+ return X25519.privateKeyToBytes({ privateKey });
122
+ });
123
+ }
124
+ }
125
+ //# sourceMappingURL=x25519.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x25519.js","sourceRoot":"","sources":["../../../src/algorithms/x25519.ts"],"names":[],"mappings":";;;;;;;;;AAWA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAclE;;;;;;;;GAQG;AACH,MAAM,OAAO,eAAgB,SAAQ,eAAe;IAIlD;;;;;;;;OAQG;IACU,iBAAiB;6DAAC,EAAE,SAAS,EAAE,eAAe,EACR;YAEjD,QAAQ,SAAS,EAAE,CAAC;gBAElB,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,OAAO,MAAM,CAAC,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,qBAAqB,EAAE,4BAA4B,SAAS,EAAE,CAAC,CAAC;gBACxG,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;OAOG;IACU,gBAAgB;6DAAC,EAAE,GAAG,EACX;YAEtB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAA,MAAM,IAAI,SAAS,CAAC,oEAAoE,CAAC,CAAC;YAAA,CAAC;YAEvH,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC;gBAEhB,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,OAAO,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1C,CAAC;gBAED,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,qBAAqB,EAAE,sBAAsB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChG,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;OAOG;IACG,WAAW;6DAAC,EAAE,SAAS,EACJ;YAEvB,QAAQ,SAAS,EAAE,CAAC;gBAElB,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC9B,CAAC;gBAED,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,qBAAqB,EAAE,4BAA4B,SAAS,EAAE,CAAC,CAAC;gBACxG,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;OAOG;IACU,YAAY;6DAAC,EAAE,GAAG,EACX;YAElB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAA,MAAM,IAAI,SAAS,CAAC,oEAAoE,CAAC,CAAC;YAAA,CAAC;YAEvH,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC;gBAEhB,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,OAAO,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtC,CAAC;gBAED,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,qBAAqB,EAAE,sBAAsB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChG,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;OAOG;IACU,iBAAiB;6DAAC,EAAE,UAAU,EAClB;YAEvB,OAAO,MAAM,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAClD,CAAC;KAAA;CACF"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * A custom error class for Crypto-related errors.
3
+ */
4
+ export class CryptoError extends Error {
5
+ /**
6
+ * Constructs an instance of CryptoError, a custom error class for handling Crypto-related errors.
7
+ *
8
+ * @param code - A {@link CryptoErrorCode} representing the specific type of error encountered.
9
+ * @param message - A human-readable description of the error.
10
+ */
11
+ constructor(code, message) {
12
+ super(message);
13
+ this.code = code;
14
+ this.name = 'CryptoError';
15
+ // Ensures that instanceof works properly, the correct prototype chain when using inheritance,
16
+ // and that V8 stack traces (like Chrome, Edge, and Node.js) are more readable and relevant.
17
+ Object.setPrototypeOf(this, new.target.prototype);
18
+ // Captures the stack trace in V8 engines (like Chrome, Edge, and Node.js).
19
+ // In non-V8 environments, the stack trace will still be captured.
20
+ if (Error.captureStackTrace) {
21
+ Error.captureStackTrace(this, CryptoError);
22
+ }
23
+ }
24
+ }
25
+ /**
26
+ * An enumeration of possible Crypto error codes.
27
+ */
28
+ export var CryptoErrorCode;
29
+ (function (CryptoErrorCode) {
30
+ /** The supplied algorithm identifier is not supported by the implementation. */
31
+ CryptoErrorCode["AlgorithmNotSupported"] = "algorithmNotSupported";
32
+ /** The encoding operation (either encoding or decoding) failed. */
33
+ CryptoErrorCode["EncodingError"] = "encodingError";
34
+ /** The JWE supplied does not conform to valid syntax. */
35
+ CryptoErrorCode["InvalidJwe"] = "invalidJwe";
36
+ /** The JWK supplied does not conform to valid syntax. */
37
+ CryptoErrorCode["InvalidJwk"] = "invalidJwk";
38
+ /** The requested operation is not supported by the implementation. */
39
+ CryptoErrorCode["OperationNotSupported"] = "operationNotSupported";
40
+ })(CryptoErrorCode || (CryptoErrorCode = {}));
41
+ //# sourceMappingURL=crypto-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-error.js","sourceRoot":"","sources":["../../src/crypto-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC;;;;;OAKG;IACH,YAAmB,IAAqB,EAAE,OAAe;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,SAAI,GAAJ,IAAI,CAAiB;QAEtC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAE1B,8FAA8F;QAC9F,4FAA4F;QAC5F,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAElD,2EAA2E;QAC3E,kEAAkE;QAClE,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,eAeX;AAfD,WAAY,eAAe;IACzB,gFAAgF;IAChF,kEAA+C,CAAA;IAE/C,mEAAmE;IACnE,kDAA+B,CAAA;IAE/B,yDAAyD;IACzD,4CAAyB,CAAA;IAEzB,yDAAyD;IACzD,4CAAyB,CAAA;IAEzB,sEAAsE;IACtE,kEAA+C,CAAA;AACjD,CAAC,EAfW,eAAe,KAAf,eAAe,QAe1B"}
package/dist/esm/index.js CHANGED
@@ -1,11 +1,16 @@
1
+ export * from './crypto-error.js';
1
2
  export * from './local-key-manager.js';
2
3
  export * from './utils.js';
3
4
  export * from './algorithms/aes-ctr.js';
4
5
  export * from './algorithms/aes-gcm.js';
6
+ export * from './algorithms/aes-kw.js';
5
7
  export * from './algorithms/crypto-algorithm.js';
6
8
  export * from './algorithms/ecdsa.js';
7
9
  export * from './algorithms/eddsa.js';
10
+ export * from './algorithms/hkdf.js';
11
+ export * from './algorithms/pbkdf2.js';
8
12
  export * from './algorithms/sha-2.js';
13
+ export * from './algorithms/x25519.js';
9
14
  export * from './jose/jwe.js';
10
15
  export * from './jose/jwk.js';
11
16
  export * from './jose/jws.js';
@@ -13,8 +18,11 @@ export * from './jose/jwt.js';
13
18
  export * from './jose/utils.js';
14
19
  export * from './primitives/aes-ctr.js';
15
20
  export * from './primitives/aes-gcm.js';
21
+ export * from './primitives/aes-kw.js';
16
22
  export * from './primitives/concat-kdf.js';
23
+ export * from './primitives/ecies-secp256k1.js';
17
24
  export * from './primitives/ed25519.js';
25
+ export * from './primitives/hkdf.js';
18
26
  export * from './primitives/secp256r1.js';
19
27
  export * from './primitives/pbkdf2.js';
20
28
  export * from './primitives/secp256k1.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAE3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAE3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oCAAoC,CAAC"}
@@ -111,16 +111,21 @@ export function computeJwkThumbprint(_a) {
111
111
  * @returns True if the object is a valid EC private JWK; otherwise, false.
112
112
  */
113
113
  export function isEcPrivateJwk(obj) {
114
- if (!obj || typeof obj !== 'object')
114
+ if (!obj || typeof obj !== 'object') {
115
115
  return false;
116
- if (!('kty' in obj && 'crv' in obj && 'x' in obj && 'd' in obj))
116
+ }
117
+ if (!('kty' in obj && 'crv' in obj && 'x' in obj && 'd' in obj)) {
117
118
  return false;
118
- if (obj.kty !== 'EC')
119
+ }
120
+ if (obj.kty !== 'EC') {
119
121
  return false;
120
- if (typeof obj.d !== 'string')
122
+ }
123
+ if (typeof obj.d !== 'string') {
121
124
  return false;
122
- if (typeof obj.x !== 'string')
125
+ }
126
+ if (typeof obj.x !== 'string') {
123
127
  return false;
128
+ }
124
129
  return true;
125
130
  }
126
131
  /**
@@ -130,16 +135,21 @@ export function isEcPrivateJwk(obj) {
130
135
  * @returns True if the object is a valid EC public JWK; otherwise, false.
131
136
  */
132
137
  export function isEcPublicJwk(obj) {
133
- if (!obj || typeof obj !== 'object')
138
+ if (!obj || typeof obj !== 'object') {
134
139
  return false;
135
- if (!('kty' in obj && 'crv' in obj && 'x' in obj))
140
+ }
141
+ if (!('kty' in obj && 'crv' in obj && 'x' in obj)) {
136
142
  return false;
137
- if ('d' in obj)
143
+ }
144
+ if ('d' in obj) {
138
145
  return false;
139
- if (obj.kty !== 'EC')
146
+ }
147
+ if (obj.kty !== 'EC') {
140
148
  return false;
141
- if (typeof obj.x !== 'string')
149
+ }
150
+ if (typeof obj.x !== 'string') {
142
151
  return false;
152
+ }
143
153
  return true;
144
154
  }
145
155
  /**
@@ -149,14 +159,18 @@ export function isEcPublicJwk(obj) {
149
159
  * @returns True if the object is a valid oct private JWK; otherwise, false.
150
160
  */
151
161
  export function isOctPrivateJwk(obj) {
152
- if (!obj || typeof obj !== 'object')
162
+ if (!obj || typeof obj !== 'object') {
153
163
  return false;
154
- if (!('kty' in obj && 'k' in obj))
164
+ }
165
+ if (!('kty' in obj && 'k' in obj)) {
155
166
  return false;
156
- if (obj.kty !== 'oct')
167
+ }
168
+ if (obj.kty !== 'oct') {
157
169
  return false;
158
- if (typeof obj.k !== 'string')
170
+ }
171
+ if (typeof obj.k !== 'string') {
159
172
  return false;
173
+ }
160
174
  return true;
161
175
  }
162
176
  /**
@@ -166,16 +180,21 @@ export function isOctPrivateJwk(obj) {
166
180
  * @returns True if the object is a valid OKP private JWK; otherwise, false.
167
181
  */
168
182
  export function isOkpPrivateJwk(obj) {
169
- if (!obj || typeof obj !== 'object')
183
+ if (!obj || typeof obj !== 'object') {
170
184
  return false;
171
- if (!('kty' in obj && 'crv' in obj && 'x' in obj && 'd' in obj))
185
+ }
186
+ if (!('kty' in obj && 'crv' in obj && 'x' in obj && 'd' in obj)) {
172
187
  return false;
173
- if (obj.kty !== 'OKP')
188
+ }
189
+ if (obj.kty !== 'OKP') {
174
190
  return false;
175
- if (typeof obj.d !== 'string')
191
+ }
192
+ if (typeof obj.d !== 'string') {
176
193
  return false;
177
- if (typeof obj.x !== 'string')
194
+ }
195
+ if (typeof obj.x !== 'string') {
178
196
  return false;
197
+ }
179
198
  return true;
180
199
  }
181
200
  /**
@@ -185,16 +204,21 @@ export function isOkpPrivateJwk(obj) {
185
204
  * @returns True if the object is a valid OKP public JWK; otherwise, false.
186
205
  */
187
206
  export function isOkpPublicJwk(obj) {
188
- if (!obj || typeof obj !== 'object')
207
+ if (!obj || typeof obj !== 'object') {
189
208
  return false;
190
- if ('d' in obj)
209
+ }
210
+ if ('d' in obj) {
191
211
  return false;
192
- if (!('kty' in obj && 'crv' in obj && 'x' in obj))
212
+ }
213
+ if (!('kty' in obj && 'crv' in obj && 'x' in obj)) {
193
214
  return false;
194
- if (obj.kty !== 'OKP')
215
+ }
216
+ if (obj.kty !== 'OKP') {
195
217
  return false;
196
- if (typeof obj.x !== 'string')
218
+ }
219
+ if (typeof obj.x !== 'string') {
197
220
  return false;
221
+ }
198
222
  return true;
199
223
  }
200
224
  /**
@@ -204,8 +228,9 @@ export function isOkpPublicJwk(obj) {
204
228
  * @returns True if the object is a valid private JWK; otherwise, false.
205
229
  */
206
230
  export function isPrivateJwk(obj) {
207
- if (!obj || typeof obj !== 'object')
231
+ if (!obj || typeof obj !== 'object') {
208
232
  return false;
233
+ }
209
234
  const kty = obj.kty;
210
235
  switch (kty) {
211
236
  case 'EC':
@@ -225,8 +250,9 @@ export function isPrivateJwk(obj) {
225
250
  * @returns True if the object is a valid public JWK; otherwise, false.
226
251
  */
227
252
  export function isPublicJwk(obj) {
228
- if (!obj || typeof obj !== 'object')
253
+ if (!obj || typeof obj !== 'object') {
229
254
  return false;
255
+ }
230
256
  const kty = obj.kty;
231
257
  switch (kty) {
232
258
  case 'EC':
@@ -1 +1 @@
1
- {"version":3,"file":"jwk.js","sourceRoot":"","sources":["../../../src/jose/jwk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jwk.js","sourceRoot":"","sources":["../../../src/jose/jwk.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { MemoryStore } from '@enbox/common';
11
- import { Sha2Algorithm } from './algorithms/sha-2.js';
12
11
  import { EcdsaAlgorithm } from './algorithms/ecdsa.js';
13
12
  import { EdDsaAlgorithm } from './algorithms/eddsa.js';
13
+ import { Sha2Algorithm } from './algorithms/sha-2.js';
14
+ import { X25519Algorithm } from './algorithms/x25519.js';
14
15
  import { computeJwkThumbprint, isPrivateJwk, KEY_URI_PREFIX_JWK } from './jose/jwk.js';
15
16
  /**
16
17
  * `supportedAlgorithms` is an object mapping algorithm names to their respective implementations
@@ -36,6 +37,10 @@ const supportedAlgorithms = {
36
37
  'SHA-256': {
37
38
  implementation: Sha2Algorithm,
38
39
  names: ['SHA-256']
40
+ },
41
+ 'X25519': {
42
+ implementation: X25519Algorithm,
43
+ names: ['X25519']
39
44
  }
40
45
  };
41
46
  export class LocalKeyManager {
@@ -148,7 +153,7 @@ export class LocalKeyManager {
148
153
  * @remarks
149
154
  * This method generates a {@link https://datatracker.ietf.org/doc/html/rfc3986 | URI}
150
155
  * (Uniform Resource Identifier) for the given JWK, which uniquely identifies the key across all
151
- * `CryptoApi` implementations. The key URI is constructed by appending the
156
+ * `KeyManager` implementations. The key URI is constructed by appending the
152
157
  * {@link https://datatracker.ietf.org/doc/html/rfc7638 | JWK thumbprint} to the prefix
153
158
  * `urn:jwk:`. The JWK thumbprint is deterministically computed from the JWK and is consistent
154
159
  * regardless of property order or optional property inclusion in the JWK. This ensures that the
@@ -234,8 +239,9 @@ export class LocalKeyManager {
234
239
  importKey(_a) {
235
240
  return __awaiter(this, arguments, void 0, function* ({ key }) {
236
241
  var _b;
237
- if (!isPrivateJwk(key))
242
+ if (!isPrivateJwk(key)) {
238
243
  throw new TypeError('Invalid key provided. Must be a private key in JWK format.');
244
+ }
239
245
  // Make a deep copy of the key to avoid mutating the original.
240
246
  const privateKey = structuredClone(key);
241
247
  // If the key ID is undefined, set it to the JWK thumbprint.
@@ -1 +1 @@
1
- {"version":3,"file":"local-key-manager.js","sourceRoot":"","sources":["../../src/local-key-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-key-manager.js","sourceRoot":"","sources":["../../src/local-key-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"aes-ctr.js","sourceRoot":"","sources":["../../../src/primitives/aes-ctr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aes-ctr.js","sourceRoot":"","sources":["../../../src/primitives/aes-ctr.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;;;;;;;;;;GAYG;AACH,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,OAAO,MAAM;IACjB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,MAAM,CAAO,iBAAiB;6DAAC,EAAE,eAAe,EAEtD;YACC,2CAA2C;YAC3C,MAAM,UAAU,GAAQ;gBACtB,CAAC,EAAK,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE;gBACvD,GAAG,EAAG,KAAK;aACZ,CAAC;YAEF,oDAAoD;YACpD,UAAU,CAAC,GAAG,GAAG,MAAM,oBAAoB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;YAEjE,OAAO,UAAU,CAAC;QACpB,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,MAAM,CAAO,OAAO;6DAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAKvD;YACC,wEAAwE;YACxE,IAAI,OAAO,CAAC,UAAU,KAAK,cAAc,GAAG,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,SAAS,CAAC,uBAAuB,cAAc,iBAAiB,CAAC,CAAC;YAC9E,CAAC;YAED,sCAAsC;YACtC,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,GAAG,kBAAkB,EAAE,CAAC;gBAChD,MAAM,IAAI,SAAS,CAAC,mDAAmD,kBAAkB,EAAE,CAAC,CAAC;YAC/F,CAAC;YAED,oCAAoC;YACpC,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;YAEvC,2EAA2E;YAC3E,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAEnG,oBAAoB;YACpB,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,OAAO,CAC7C,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,EACpC,YAAY,EACZ,IAAI,CACL,CAAC;YAEF,0CAA0C;YAC1C,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC;YAElD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,MAAM,CAAO,OAAO;6DAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAKvD;YACC,mDAAmD;YACnD,IAAI,OAAO,CAAC,UAAU,KAAK,cAAc,GAAG,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,SAAS,CAAC,uBAAuB,cAAc,iBAAiB,CAAC,CAAC;YAC9E,CAAC;YAED,sCAAsC;YACtC,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,GAAG,kBAAkB,EAAE,CAAC;gBAChD,MAAM,IAAI,SAAS,CAAC,mDAAmD,kBAAkB,EAAE,CAAC,CAAC;YAC/F,CAAC;YAED,oCAAoC;YACpC,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;YAEvC,2EAA2E;YAC3E,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YAE9G,oBAAoB;YACpB,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,OAAO,CAC9C,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,EACpC,YAAY,EACZ,IAAI,CACL,CAAC;YAEF,0CAA0C;YAC1C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAEpD,OAAO,UAAU,CAAC;QACpB,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACI,MAAM,CAAO,WAAW;6DAAC,EAAE,MAAM,EAEvC;YACC,2BAA2B;YAC3B,IAAI,CAAE,eAAqC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,UAAU,CAAC,sCAAsC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChG,CAAC;YAED,oCAAoC;YACpC,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;YAEvC,iCAAiC;YACjC,8FAA8F;YAC9F,wFAAwF;YACxF,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,WAAW,CAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAElG,wCAAwC;YACxC,MAAM,KAAkC,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,EAAhF,EAAE,GAAG,EAAE,OAAO,OAAkE,EAA7D,UAAU,cAA7B,kBAA+B,CAAiD,CAAC;YAEvF,oDAAoD;YACpD,UAAU,CAAC,GAAG,GAAG,MAAM,oBAAoB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;YAEjE,OAAO,UAAU,CAAC;QACpB,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,MAAM,CAAO,iBAAiB;6DAAC,EAAE,UAAU,EAEjD;YACC,8DAA8D;YAC9D,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC9E,CAAC;YAED,4CAA4C;YAC5C,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YAEvE,OAAO,eAAe,CAAC;QACzB,CAAC;KAAA;CACF"}