jose 3.12.3 → 3.13.0

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.
@@ -21,7 +21,7 @@ const namedCurveToJOSE = (namedCurve) => {
21
21
  case 'secp256k1':
22
22
  return namedCurve;
23
23
  default:
24
- throw new errors_js_1.JOSENotSupported('unsupported curve for this operation');
24
+ throw new errors_js_1.JOSENotSupported('unsupported key curve for this operation');
25
25
  }
26
26
  };
27
27
  const getNamedCurve = (key, raw) => {
@@ -67,6 +67,9 @@ const getNamedCurve = (key, raw) => {
67
67
  else if (curveOid.equals(secp256k1)) {
68
68
  namedCurve = 'secp256k1';
69
69
  }
70
+ else {
71
+ throw new errors_js_1.JOSENotSupported('unsupported key curve for this operation');
72
+ }
70
73
  }
71
74
  if (raw)
72
75
  return namedCurve;
@@ -6,9 +6,12 @@ const dsa_digest_js_1 = require("./dsa_digest.js");
6
6
  const hmac_digest_js_1 = require("./hmac_digest.js");
7
7
  const node_key_js_1 = require("./node_key.js");
8
8
  const get_sign_verify_key_js_1 = require("./get_sign_verify_key.js");
9
- let oneShotSign = crypto.sign;
10
- if (oneShotSign.length > 3) {
11
- oneShotSign = util_1.promisify(oneShotSign);
9
+ let oneShotSign;
10
+ if (crypto.sign.length > 3) {
11
+ oneShotSign = util_1.promisify(crypto.sign);
12
+ }
13
+ else {
14
+ oneShotSign = crypto.sign;
12
15
  }
13
16
  const sign = async (alg, key, data) => {
14
17
  const keyObject = get_sign_verify_key_js_1.default(alg, key, 'sign');
@@ -11,9 +11,12 @@ const [major, minor] = process.version
11
11
  .split('.')
12
12
  .map((str) => parseInt(str, 10));
13
13
  const oneShotCallbackSupported = major >= 16 || (major === 15 && minor >= 13);
14
- let oneShotVerify = crypto.verify;
15
- if (oneShotVerify.length > 4 && oneShotCallbackSupported) {
16
- oneShotVerify = util_1.promisify(oneShotVerify);
14
+ let oneShotVerify;
15
+ if (crypto.verify.length > 4 && oneShotCallbackSupported) {
16
+ oneShotVerify = util_1.promisify(crypto.verify);
17
+ }
18
+ else {
19
+ oneShotVerify = crypto.verify;
17
20
  }
18
21
  const verify = async (alg, key, signature, data) => {
19
22
  if (alg.startsWith('HS')) {
@@ -30,11 +33,7 @@ const verify = async (alg, key, signature, data) => {
30
33
  const keyObject = get_sign_verify_key_js_1.default(alg, key, 'verify');
31
34
  const keyInput = node_key_js_1.default(alg, keyObject);
32
35
  try {
33
- let result = oneShotVerify(algorithm, data, keyInput, signature);
34
- if (result instanceof Promise) {
35
- result = await result;
36
- }
37
- return result;
36
+ return await oneShotVerify(algorithm, data, keyInput, signature);
38
37
  }
39
38
  catch {
40
39
  return false;
@@ -18,7 +18,7 @@ const namedCurveToJOSE = (namedCurve) => {
18
18
  case 'secp256k1':
19
19
  return namedCurve;
20
20
  default:
21
- throw new JOSENotSupported('unsupported curve for this operation');
21
+ throw new JOSENotSupported('unsupported key curve for this operation');
22
22
  }
23
23
  };
24
24
  const getNamedCurve = (key, raw) => {
@@ -64,6 +64,9 @@ const getNamedCurve = (key, raw) => {
64
64
  else if (curveOid.equals(secp256k1)) {
65
65
  namedCurve = 'secp256k1';
66
66
  }
67
+ else {
68
+ throw new JOSENotSupported('unsupported key curve for this operation');
69
+ }
67
70
  }
68
71
  if (raw)
69
72
  return namedCurve;
@@ -4,9 +4,12 @@ import nodeDigest from './dsa_digest.js';
4
4
  import hmacDigest from './hmac_digest.js';
5
5
  import nodeKey from './node_key.js';
6
6
  import getSignKey from './get_sign_verify_key.js';
7
- let oneShotSign = crypto.sign;
8
- if (oneShotSign.length > 3) {
9
- oneShotSign = promisify(oneShotSign);
7
+ let oneShotSign;
8
+ if (crypto.sign.length > 3) {
9
+ oneShotSign = promisify(crypto.sign);
10
+ }
11
+ else {
12
+ oneShotSign = crypto.sign;
10
13
  }
11
14
  const sign = async (alg, key, data) => {
12
15
  const keyObject = getSignKey(alg, key, 'sign');
@@ -9,9 +9,12 @@ const [major, minor] = process.version
9
9
  .split('.')
10
10
  .map((str) => parseInt(str, 10));
11
11
  const oneShotCallbackSupported = major >= 16 || (major === 15 && minor >= 13);
12
- let oneShotVerify = crypto.verify;
13
- if (oneShotVerify.length > 4 && oneShotCallbackSupported) {
14
- oneShotVerify = promisify(oneShotVerify);
12
+ let oneShotVerify;
13
+ if (crypto.verify.length > 4 && oneShotCallbackSupported) {
14
+ oneShotVerify = promisify(crypto.verify);
15
+ }
16
+ else {
17
+ oneShotVerify = crypto.verify;
15
18
  }
16
19
  const verify = async (alg, key, signature, data) => {
17
20
  if (alg.startsWith('HS')) {
@@ -28,11 +31,7 @@ const verify = async (alg, key, signature, data) => {
28
31
  const keyObject = getVerifyKey(alg, key, 'verify');
29
32
  const keyInput = nodeKey(alg, keyObject);
30
33
  try {
31
- let result = oneShotVerify(algorithm, data, keyInput, signature);
32
- if (result instanceof Promise) {
33
- result = await result;
34
- }
35
- return result;
34
+ return await oneShotVerify(algorithm, data, keyInput, signature);
36
35
  }
37
36
  catch {
38
37
  return false;
@@ -4,4 +4,4 @@ export interface CompactDecryptGetKey extends GetKeyFunction<JWEHeaderParameters
4
4
  declare function compactDecrypt(jwe: string | Uint8Array, key: KeyLike | CompactDecryptGetKey, options?: DecryptOptions): Promise<CompactDecryptResult>;
5
5
  export { compactDecrypt };
6
6
  export default compactDecrypt;
7
- export type { KeyLike, DecryptOptions };
7
+ export type { KeyLike, DecryptOptions, CompactDecryptResult };
@@ -4,4 +4,4 @@ export interface FlattenedDecryptGetKey extends GetKeyFunction<JWEHeaderParamete
4
4
  declare function flattenedDecrypt(jwe: FlattenedJWE, key: KeyLike | FlattenedDecryptGetKey, options?: DecryptOptions): Promise<FlattenedDecryptResult>;
5
5
  export { flattenedDecrypt };
6
6
  export default flattenedDecrypt;
7
- export type { KeyLike, FlattenedJWE, JWEHeaderParameters, DecryptOptions };
7
+ export type { KeyLike, FlattenedJWE, JWEHeaderParameters, DecryptOptions, FlattenedDecryptResult };
@@ -4,4 +4,4 @@ export interface GeneralDecryptGetKey extends GetKeyFunction<JWEHeaderParameters
4
4
  declare function generalDecrypt(jwe: GeneralJWE, key: KeyLike | GeneralDecryptGetKey, options?: DecryptOptions): Promise<GeneralDecryptResult>;
5
5
  export { generalDecrypt };
6
6
  export default generalDecrypt;
7
- export type { KeyLike, GeneralJWE, DecryptOptions };
7
+ export type { KeyLike, GeneralJWE, DecryptOptions, GeneralDecryptResult };
@@ -4,4 +4,4 @@ export interface CompactVerifyGetKey extends GetKeyFunction<JWSHeaderParameters,
4
4
  declare function compactVerify(jws: string | Uint8Array, key: KeyLike | CompactVerifyGetKey, options?: VerifyOptions): Promise<CompactVerifyResult>;
5
5
  export { compactVerify };
6
6
  export default compactVerify;
7
- export type { KeyLike, VerifyOptions };
7
+ export type { KeyLike, VerifyOptions, CompactVerifyResult };
@@ -4,4 +4,4 @@ export interface FlattenedVerifyGetKey extends GetKeyFunction<JWSHeaderParameter
4
4
  declare function flattenedVerify(jws: FlattenedJWSInput, key: KeyLike | FlattenedVerifyGetKey, options?: VerifyOptions): Promise<FlattenedVerifyResult>;
5
5
  export { flattenedVerify };
6
6
  export default flattenedVerify;
7
- export type { KeyLike, FlattenedJWSInput, GetKeyFunction, JWSHeaderParameters, VerifyOptions };
7
+ export type { KeyLike, FlattenedJWSInput, GetKeyFunction, JWSHeaderParameters, VerifyOptions, FlattenedVerifyResult, };
@@ -4,4 +4,4 @@ export interface GeneralVerifyGetKey extends GetKeyFunction<JWSHeaderParameters,
4
4
  declare function generalVerify(jws: GeneralJWSInput, key: KeyLike | GeneralVerifyGetKey, options?: VerifyOptions): Promise<GeneralVerifyResult>;
5
5
  export { generalVerify };
6
6
  export default generalVerify;
7
- export type { KeyLike, GeneralJWSInput, VerifyOptions };
7
+ export type { KeyLike, GeneralJWSInput, VerifyOptions, GeneralVerifyResult };
@@ -6,4 +6,4 @@ export interface JWTDecryptGetKey extends GetKeyFunction<JWEHeaderParameters, Fl
6
6
  declare function jwtDecrypt(jwt: string | Uint8Array, key: KeyLike | JWTDecryptGetKey, options?: JWTDecryptOptions): Promise<JWTDecryptResult>;
7
7
  export { jwtDecrypt };
8
8
  export default jwtDecrypt;
9
- export type { KeyLike, DecryptOptions, JWTPayload, JWTDecryptOptions };
9
+ export type { KeyLike, DecryptOptions, JWTPayload, JWTDecryptOptions, JWTDecryptResult };
@@ -1,12 +1,13 @@
1
1
  import type { JWSHeaderParameters, JWTClaimVerificationOptions, JWTPayload } from '../types.d';
2
2
  import ProduceJWT from '../lib/jwt_producer.js';
3
+ interface UnsecuredResult {
4
+ payload: JWTPayload;
5
+ header: JWSHeaderParameters;
6
+ }
3
7
  declare class UnsecuredJWT extends ProduceJWT {
4
8
  encode(): string;
5
- static decode(jwt: string, options?: JWTClaimVerificationOptions): {
6
- payload: JWTPayload;
7
- header: JWSHeaderParameters;
8
- };
9
+ static decode(jwt: string, options?: JWTClaimVerificationOptions): UnsecuredResult;
9
10
  }
10
11
  export { UnsecuredJWT };
11
12
  export default UnsecuredJWT;
12
- export type { JWSHeaderParameters, JWTPayload };
13
+ export type { JWSHeaderParameters, JWTPayload, UnsecuredResult };
@@ -6,4 +6,4 @@ export interface JWTVerifyGetKey extends GetKeyFunction<JWSHeaderParameters, Fla
6
6
  declare function jwtVerify(jwt: string | Uint8Array, key: KeyLike | JWTVerifyGetKey, options?: JWTVerifyOptions): Promise<JWTVerifyResult>;
7
7
  export { jwtVerify };
8
8
  export default jwtVerify;
9
- export type { KeyLike, JWTPayload, JWTVerifyOptions, JWSHeaderParameters, GetKeyFunction };
9
+ export type { KeyLike, JWTPayload, JWTVerifyOptions, JWSHeaderParameters, GetKeyFunction, JWTVerifyResult, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jose",
3
- "version": "3.12.3",
3
+ "version": "3.13.0",
4
4
  "description": "Universal 'JSON Web Almost Everything' - JWA, JWS, JWE, JWT, JWK with no dependencies",
5
5
  "keywords": [
6
6
  "browser",