jose 4.15.4 → 5.0.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.
Files changed (155) hide show
  1. package/README.md +2 -1
  2. package/dist/browser/index.js +2 -4
  3. package/dist/browser/jwe/flattened/decrypt.js +13 -22
  4. package/dist/browser/jwe/flattened/encrypt.js +3 -18
  5. package/dist/browser/jwe/general/decrypt.js +1 -1
  6. package/dist/browser/jwe/general/encrypt.js +8 -13
  7. package/dist/browser/jwk/embedded.js +2 -2
  8. package/dist/browser/jwk/thumbprint.js +2 -2
  9. package/dist/browser/jwks/local.js +2 -2
  10. package/dist/browser/jwks/remote.js +4 -4
  11. package/dist/browser/jws/flattened/sign.js +1 -1
  12. package/dist/browser/jws/flattened/verify.js +6 -7
  13. package/dist/browser/jws/general/verify.js +1 -1
  14. package/dist/browser/jwt/produce.js +19 -4
  15. package/dist/browser/jwt/sign.js +1 -2
  16. package/dist/browser/jwt/unsecured.js +1 -1
  17. package/dist/browser/jwt/verify.js +1 -2
  18. package/dist/browser/key/import.js +1 -6
  19. package/dist/browser/lib/decrypt_key_management.js +6 -6
  20. package/dist/browser/lib/jwt_claims_set.js +1 -1
  21. package/dist/browser/runtime/asn1.js +1 -2
  22. package/dist/browser/runtime/base64url.js +1 -1
  23. package/dist/browser/runtime/decrypt.js +3 -3
  24. package/dist/browser/runtime/fetch_jwks.js +1 -1
  25. package/dist/browser/runtime/generate.js +5 -8
  26. package/dist/browser/runtime/jwk_to_key.js +2 -45
  27. package/dist/browser/runtime/verify.js +1 -1
  28. package/dist/browser/util/decode_jwt.js +2 -2
  29. package/dist/browser/util/decode_protected_header.js +1 -1
  30. package/dist/browser/util/errors.js +1 -2
  31. package/dist/node/cjs/jwe/compact/encrypt.js +1 -0
  32. package/dist/node/cjs/jwe/flattened/decrypt.js +7 -16
  33. package/dist/node/cjs/jwe/flattened/encrypt.js +12 -19
  34. package/dist/node/cjs/jwe/general/encrypt.js +16 -13
  35. package/dist/node/cjs/jwk/embedded.js +2 -2
  36. package/dist/node/cjs/jwk/thumbprint.js +2 -2
  37. package/dist/node/cjs/jwks/local.js +3 -2
  38. package/dist/node/cjs/jwks/remote.js +13 -6
  39. package/dist/node/cjs/jws/compact/sign.js +1 -0
  40. package/dist/node/cjs/jws/flattened/sign.js +4 -1
  41. package/dist/node/cjs/jws/flattened/verify.js +3 -4
  42. package/dist/node/cjs/jws/general/sign.js +7 -1
  43. package/dist/node/cjs/jwt/encrypt.js +7 -0
  44. package/dist/node/cjs/jwt/produce.js +20 -4
  45. package/dist/node/cjs/jwt/sign.js +2 -2
  46. package/dist/node/cjs/jwt/verify.js +1 -2
  47. package/dist/node/cjs/key/import.js +2 -7
  48. package/dist/node/cjs/lib/aesgcmkw.js +1 -1
  49. package/dist/node/cjs/lib/decrypt_key_management.js +1 -1
  50. package/dist/node/cjs/lib/encrypt_key_management.js +1 -1
  51. package/dist/node/cjs/runtime/aeskw.js +6 -6
  52. package/dist/node/cjs/runtime/asn1.js +8 -8
  53. package/dist/node/cjs/runtime/base64url.js +6 -11
  54. package/dist/node/cjs/runtime/cbc_tag.js +2 -2
  55. package/dist/node/cjs/runtime/check_key_length.js +8 -0
  56. package/dist/node/cjs/runtime/ciphers.js +2 -2
  57. package/dist/node/cjs/runtime/decrypt.js +4 -4
  58. package/dist/node/cjs/runtime/digest.js +2 -2
  59. package/dist/node/cjs/runtime/ecdhes.js +7 -7
  60. package/dist/node/cjs/runtime/encrypt.js +4 -4
  61. package/dist/node/cjs/runtime/fetch_jwks.js +4 -4
  62. package/dist/node/cjs/runtime/generate.js +7 -11
  63. package/dist/node/cjs/runtime/get_named_curve.js +7 -45
  64. package/dist/node/cjs/runtime/get_sign_verify_key.js +4 -4
  65. package/dist/node/cjs/runtime/is_key_like.js +1 -1
  66. package/dist/node/cjs/runtime/is_key_object.js +2 -5
  67. package/dist/node/cjs/runtime/jwk_to_key.js +2 -113
  68. package/dist/node/cjs/runtime/key_to_jwk.js +6 -130
  69. package/dist/node/cjs/runtime/node_key.js +9 -18
  70. package/dist/node/cjs/runtime/pbes2kw.js +4 -4
  71. package/dist/node/cjs/runtime/random.js +2 -2
  72. package/dist/node/cjs/runtime/rsaes.js +8 -8
  73. package/dist/node/cjs/runtime/sign.js +3 -9
  74. package/dist/node/cjs/runtime/timing_safe_equal.js +2 -2
  75. package/dist/node/cjs/runtime/verify.js +3 -10
  76. package/dist/node/cjs/runtime/webcrypto.js +4 -6
  77. package/dist/node/cjs/util/errors.js +26 -59
  78. package/dist/node/esm/jwe/compact/encrypt.js +1 -0
  79. package/dist/node/esm/jwe/flattened/decrypt.js +7 -16
  80. package/dist/node/esm/jwe/flattened/encrypt.js +12 -19
  81. package/dist/node/esm/jwe/general/encrypt.js +17 -14
  82. package/dist/node/esm/jwk/embedded.js +2 -2
  83. package/dist/node/esm/jwk/thumbprint.js +2 -2
  84. package/dist/node/esm/jwks/local.js +3 -2
  85. package/dist/node/esm/jwks/remote.js +13 -6
  86. package/dist/node/esm/jws/compact/sign.js +1 -0
  87. package/dist/node/esm/jws/flattened/sign.js +4 -1
  88. package/dist/node/esm/jws/flattened/verify.js +3 -4
  89. package/dist/node/esm/jws/general/sign.js +7 -1
  90. package/dist/node/esm/jwt/encrypt.js +7 -0
  91. package/dist/node/esm/jwt/produce.js +20 -4
  92. package/dist/node/esm/jwt/sign.js +2 -2
  93. package/dist/node/esm/jwt/verify.js +1 -2
  94. package/dist/node/esm/key/import.js +2 -7
  95. package/dist/node/esm/lib/aesgcmkw.js +1 -1
  96. package/dist/node/esm/lib/decrypt_key_management.js +1 -1
  97. package/dist/node/esm/lib/encrypt_key_management.js +1 -1
  98. package/dist/node/esm/runtime/aeskw.js +2 -2
  99. package/dist/node/esm/runtime/asn1.js +2 -2
  100. package/dist/node/esm/runtime/base64url.js +4 -10
  101. package/dist/node/esm/runtime/cbc_tag.js +1 -1
  102. package/dist/node/esm/runtime/check_key_length.js +6 -0
  103. package/dist/node/esm/runtime/ciphers.js +2 -2
  104. package/dist/node/esm/runtime/decrypt.js +1 -1
  105. package/dist/node/esm/runtime/digest.js +1 -1
  106. package/dist/node/esm/runtime/ecdhes.js +2 -2
  107. package/dist/node/esm/runtime/encrypt.js +1 -1
  108. package/dist/node/esm/runtime/fetch_jwks.js +3 -3
  109. package/dist/node/esm/runtime/generate.js +5 -9
  110. package/dist/node/esm/runtime/get_named_curve.js +5 -42
  111. package/dist/node/esm/runtime/get_sign_verify_key.js +1 -1
  112. package/dist/node/esm/runtime/is_key_like.js +1 -1
  113. package/dist/node/esm/runtime/is_key_object.js +2 -5
  114. package/dist/node/esm/runtime/jwk_to_key.js +2 -113
  115. package/dist/node/esm/runtime/key_to_jwk.js +5 -129
  116. package/dist/node/esm/runtime/node_key.js +7 -16
  117. package/dist/node/esm/runtime/pbes2kw.js +2 -2
  118. package/dist/node/esm/runtime/random.js +1 -1
  119. package/dist/node/esm/runtime/rsaes.js +3 -3
  120. package/dist/node/esm/runtime/sign.js +3 -9
  121. package/dist/node/esm/runtime/timing_safe_equal.js +1 -1
  122. package/dist/node/esm/runtime/verify.js +3 -10
  123. package/dist/node/esm/runtime/webcrypto.js +3 -6
  124. package/dist/node/esm/util/errors.js +26 -59
  125. package/dist/types/index.d.ts +1 -1
  126. package/dist/types/jwe/compact/decrypt.d.ts +1 -1
  127. package/dist/types/jwe/flattened/decrypt.d.ts +1 -1
  128. package/dist/types/jwe/general/decrypt.d.ts +1 -1
  129. package/dist/types/jwe/general/encrypt.d.ts +3 -7
  130. package/dist/types/jwk/embedded.d.ts +1 -1
  131. package/dist/types/jwks/local.d.ts +3 -3
  132. package/dist/types/jwks/remote.d.ts +1 -1
  133. package/dist/types/jws/compact/verify.d.ts +1 -1
  134. package/dist/types/jws/flattened/verify.d.ts +1 -1
  135. package/dist/types/jws/general/verify.d.ts +1 -1
  136. package/dist/types/jwt/decrypt.d.ts +3 -3
  137. package/dist/types/jwt/produce.d.ts +12 -12
  138. package/dist/types/jwt/unsecured.d.ts +3 -3
  139. package/dist/types/jwt/verify.d.ts +3 -3
  140. package/dist/types/key/generate_key_pair.d.ts +7 -5
  141. package/dist/types/key/generate_secret.d.ts +1 -1
  142. package/dist/types/key/import.d.ts +4 -6
  143. package/dist/types/types.d.ts +13 -50
  144. package/package.json +1 -1
  145. package/dist/browser/runtime/zlib.js +0 -7
  146. package/dist/node/cjs/runtime/asn1_sequence_decoder.js +0 -47
  147. package/dist/node/cjs/runtime/asn1_sequence_encoder.js +0 -91
  148. package/dist/node/cjs/runtime/check_modulus_length.js +0 -52
  149. package/dist/node/cjs/runtime/flags.js +0 -8
  150. package/dist/node/cjs/runtime/zlib.js +0 -11
  151. package/dist/node/esm/runtime/asn1_sequence_decoder.js +0 -44
  152. package/dist/node/esm/runtime/asn1_sequence_encoder.js +0 -88
  153. package/dist/node/esm/runtime/check_modulus_length.js +0 -48
  154. package/dist/node/esm/runtime/flags.js +0 -5
  155. package/dist/node/esm/runtime/zlib.js +0 -6
@@ -1,48 +0,0 @@
1
- export const weakMap = new WeakMap();
2
- const getLength = (buf, index) => {
3
- let len = buf.readUInt8(1);
4
- if ((len & 0x80) === 0) {
5
- if (index === 0) {
6
- return len;
7
- }
8
- return getLength(buf.subarray(2 + len), index - 1);
9
- }
10
- const num = len & 0x7f;
11
- len = 0;
12
- for (let i = 0; i < num; i++) {
13
- len <<= 8;
14
- const j = buf.readUInt8(2 + i);
15
- len |= j;
16
- }
17
- if (index === 0) {
18
- return len;
19
- }
20
- return getLength(buf.subarray(2 + len), index - 1);
21
- };
22
- const getLengthOfSeqIndex = (sequence, index) => {
23
- const len = sequence.readUInt8(1);
24
- if ((len & 0x80) === 0) {
25
- return getLength(sequence.subarray(2), index);
26
- }
27
- const num = len & 0x7f;
28
- return getLength(sequence.subarray(2 + num), index);
29
- };
30
- const getModulusLength = (key) => {
31
- var _a, _b;
32
- if (weakMap.has(key)) {
33
- return weakMap.get(key);
34
- }
35
- const modulusLength = (_b = (_a = key.asymmetricKeyDetails) === null || _a === void 0 ? void 0 : _a.modulusLength) !== null && _b !== void 0 ? _b : (getLengthOfSeqIndex(key.export({ format: 'der', type: 'pkcs1' }), key.type === 'private' ? 1 : 0) -
36
- 1) <<
37
- 3;
38
- weakMap.set(key, modulusLength);
39
- return modulusLength;
40
- };
41
- export const setModulusLength = (keyObject, modulusLength) => {
42
- weakMap.set(keyObject, modulusLength);
43
- };
44
- export default (key, alg) => {
45
- if (getModulusLength(key) < 2048) {
46
- throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`);
47
- }
48
- };
@@ -1,5 +0,0 @@
1
- const [major, minor] = process.versions.node.split('.').map((str) => parseInt(str, 10));
2
- export const oneShotCallback = major >= 16 || (major === 15 && minor >= 13);
3
- export const rsaPssParams = !('electron' in process.versions) && (major >= 17 || (major === 16 && minor >= 9));
4
- export const jwkExport = major >= 16 || (major === 15 && minor >= 9);
5
- export const jwkImport = major >= 16 || (major === 15 && minor >= 12);
@@ -1,6 +0,0 @@
1
- import { promisify } from 'util';
2
- import { inflateRaw as inflateRawCb, deflateRaw as deflateRawCb } from 'zlib';
3
- const inflateRaw = promisify(inflateRawCb);
4
- const deflateRaw = promisify(deflateRawCb);
5
- export const inflate = (input) => inflateRaw(input);
6
- export const deflate = (input) => deflateRaw(input);