jose
Advanced tools
Comparing version 4.11.1 to 4.11.2
export class JOSEError extends Error { | ||
static get code() { | ||
return 'ERR_JOSE_GENERIC'; | ||
} | ||
constructor(message) { | ||
@@ -9,7 +12,7 @@ var _a; | ||
} | ||
} | ||
export class JWTClaimValidationFailed extends JOSEError { | ||
static get code() { | ||
return 'ERR_JOSE_GENERIC'; | ||
return 'ERR_JWT_CLAIM_VALIDATION_FAILED'; | ||
} | ||
} | ||
export class JWTClaimValidationFailed extends JOSEError { | ||
constructor(message, claim = 'unspecified', reason = 'unspecified') { | ||
@@ -21,7 +24,7 @@ super(message); | ||
} | ||
} | ||
export class JWTExpired extends JOSEError { | ||
static get code() { | ||
return 'ERR_JWT_CLAIM_VALIDATION_FAILED'; | ||
return 'ERR_JWT_EXPIRED'; | ||
} | ||
} | ||
export class JWTExpired extends JOSEError { | ||
constructor(message, claim = 'unspecified', reason = 'unspecified') { | ||
@@ -33,5 +36,2 @@ super(message); | ||
} | ||
static get code() { | ||
return 'ERR_JWT_EXPIRED'; | ||
} | ||
} | ||
@@ -38,0 +38,0 @@ export class JOSEAlgNotAllowed extends JOSEError { |
@@ -9,4 +9,4 @@ "use strict"; | ||
exports.types = types; | ||
if (parseInt(process.versions.node) >= 16) { | ||
if (globalThis.CryptoKey || (webcrypto_js_1.default === null || webcrypto_js_1.default === void 0 ? void 0 : webcrypto_js_1.default.CryptoKey)) { | ||
types.push('CryptoKey'); | ||
} |
@@ -10,9 +10,5 @@ "use strict"; | ||
const asn1_sequence_encoder_js_1 = require("./asn1_sequence_encoder.js"); | ||
const [major, minor] = process.version | ||
.slice(1) | ||
.split('.') | ||
.map((str) => parseInt(str, 10)); | ||
const jwkImportSupported = major >= 16 || (major === 15 && minor >= 12); | ||
const flags_js_1 = require("./flags.js"); | ||
const parse = (jwk) => { | ||
if (jwkImportSupported && jwk.kty !== 'oct') { | ||
if (flags_js_1.jwkImport && jwk.kty !== 'oct') { | ||
return jwk.d | ||
@@ -19,0 +15,0 @@ ? (0, crypto_1.createPrivateKey)({ format: 'jwk', key: jwk }) |
@@ -12,7 +12,3 @@ "use strict"; | ||
const is_key_like_js_1 = require("./is_key_like.js"); | ||
const [major, minor] = process.version | ||
.slice(1) | ||
.split('.') | ||
.map((str) => parseInt(str, 10)); | ||
const jwkExportSupported = major >= 16 || (major === 15 && minor >= 9); | ||
const flags_js_1 = require("./flags.js"); | ||
const keyToJWK = (key) => { | ||
@@ -38,3 +34,3 @@ let keyObject; | ||
} | ||
if (jwkExportSupported) { | ||
if (flags_js_1.jwkExport) { | ||
if (keyObject.type !== 'secret' && | ||
@@ -41,0 +37,0 @@ !['rsa', 'ec', 'ed25519', 'x25519', 'ed448', 'x448'].includes(keyObject.asymmetricKeyType)) { |
@@ -7,8 +7,3 @@ "use strict"; | ||
const check_modulus_length_js_1 = require("./check_modulus_length.js"); | ||
const [major, minor] = process.version | ||
.slice(1) | ||
.split('.') | ||
.map((str) => parseInt(str, 10)); | ||
const electron = 'electron' in process.versions; | ||
const rsaPssParams = !electron && (major >= 17 || (major === 16 && minor >= 9)); | ||
const flags_js_1 = require("./flags.js"); | ||
const PSS = { | ||
@@ -39,5 +34,5 @@ padding: crypto_1.constants.RSA_PKCS1_PSS_PADDING, | ||
return key; | ||
case rsaPssParams && 'PS256': | ||
case rsaPssParams && 'PS384': | ||
case rsaPssParams && 'PS512': | ||
case flags_js_1.rsaPssParams && 'PS256': | ||
case flags_js_1.rsaPssParams && 'PS384': | ||
case flags_js_1.rsaPssParams && 'PS512': | ||
if (key.asymmetricKeyType === 'rsa-pss') { | ||
@@ -59,5 +54,5 @@ const { hashAlgorithm, mgf1HashAlgorithm, saltLength } = key.asymmetricKeyDetails; | ||
return { key, ...PSS }; | ||
case !rsaPssParams && 'PS256': | ||
case !rsaPssParams && 'PS384': | ||
case !rsaPssParams && 'PS512': | ||
case !flags_js_1.rsaPssParams && 'PS256': | ||
case !flags_js_1.rsaPssParams && 'PS384': | ||
case !flags_js_1.rsaPssParams && 'PS512': | ||
if (key.asymmetricKeyType !== 'rsa') { | ||
@@ -64,0 +59,0 @@ throw new TypeError('Invalid key for this operation, its asymmetricKeyType must be rsa'); |
@@ -9,9 +9,5 @@ "use strict"; | ||
const get_sign_verify_key_js_1 = require("./get_sign_verify_key.js"); | ||
const [major, minor] = process.version | ||
.slice(1) | ||
.split('.') | ||
.map((str) => parseInt(str, 10)); | ||
const oneShotCallbackSupported = major >= 16 || (major === 15 && minor >= 13); | ||
const flags_js_1 = require("./flags.js"); | ||
let oneShotVerify; | ||
if (crypto.verify.length > 4 && oneShotCallbackSupported) { | ||
if (crypto.verify.length > 4 && flags_js_1.oneShotCallback) { | ||
oneShotVerify = (0, util_1.promisify)(crypto.verify); | ||
@@ -18,0 +14,0 @@ } |
@@ -5,2 +5,5 @@ "use strict"; | ||
class JOSEError extends Error { | ||
static get code() { | ||
return 'ERR_JOSE_GENERIC'; | ||
} | ||
constructor(message) { | ||
@@ -13,8 +16,8 @@ var _a; | ||
} | ||
static get code() { | ||
return 'ERR_JOSE_GENERIC'; | ||
} | ||
} | ||
exports.JOSEError = JOSEError; | ||
class JWTClaimValidationFailed extends JOSEError { | ||
static get code() { | ||
return 'ERR_JWT_CLAIM_VALIDATION_FAILED'; | ||
} | ||
constructor(message, claim = 'unspecified', reason = 'unspecified') { | ||
@@ -26,8 +29,8 @@ super(message); | ||
} | ||
static get code() { | ||
return 'ERR_JWT_CLAIM_VALIDATION_FAILED'; | ||
} | ||
} | ||
exports.JWTClaimValidationFailed = JWTClaimValidationFailed; | ||
class JWTExpired extends JOSEError { | ||
static get code() { | ||
return 'ERR_JWT_EXPIRED'; | ||
} | ||
constructor(message, claim = 'unspecified', reason = 'unspecified') { | ||
@@ -39,5 +42,2 @@ super(message); | ||
} | ||
static get code() { | ||
return 'ERR_JWT_EXPIRED'; | ||
} | ||
} | ||
@@ -44,0 +44,0 @@ exports.JWTExpired = JWTExpired; |
@@ -1,8 +0,8 @@ | ||
import { isCryptoKey } from './webcrypto.js'; | ||
import webcrypto, { isCryptoKey } from './webcrypto.js'; | ||
import isKeyObject from './is_key_object.js'; | ||
export default (key) => isKeyObject(key) || isCryptoKey(key); | ||
const types = ['KeyObject']; | ||
if (parseInt(process.versions.node) >= 16) { | ||
if (globalThis.CryptoKey || (webcrypto === null || webcrypto === void 0 ? void 0 : webcrypto.CryptoKey)) { | ||
types.push('CryptoKey'); | ||
} | ||
export { types }; |
@@ -8,9 +8,5 @@ import { Buffer } from 'buffer'; | ||
import Asn1SequenceEncoder from './asn1_sequence_encoder.js'; | ||
const [major, minor] = process.version | ||
.slice(1) | ||
.split('.') | ||
.map((str) => parseInt(str, 10)); | ||
const jwkImportSupported = major >= 16 || (major === 15 && minor >= 12); | ||
import { jwkImport } from './flags.js'; | ||
const parse = (jwk) => { | ||
if (jwkImportSupported && jwk.kty !== 'oct') { | ||
if (jwkImport && jwk.kty !== 'oct') { | ||
return jwk.d | ||
@@ -17,0 +13,0 @@ ? createPrivateKey({ format: 'jwk', key: jwk }) |
@@ -10,7 +10,3 @@ import { KeyObject, createPublicKey } from 'crypto'; | ||
import { types } from './is_key_like.js'; | ||
const [major, minor] = process.version | ||
.slice(1) | ||
.split('.') | ||
.map((str) => parseInt(str, 10)); | ||
const jwkExportSupported = major >= 16 || (major === 15 && minor >= 9); | ||
import { jwkExport } from './flags.js'; | ||
const keyToJWK = (key) => { | ||
@@ -36,3 +32,3 @@ let keyObject; | ||
} | ||
if (jwkExportSupported) { | ||
if (jwkExport) { | ||
if (keyObject.type !== 'secret' && | ||
@@ -39,0 +35,0 @@ !['rsa', 'ec', 'ed25519', 'x25519', 'ed448', 'x448'].includes(keyObject.asymmetricKeyType)) { |
@@ -5,8 +5,3 @@ import { constants } from 'crypto'; | ||
import checkModulusLength from './check_modulus_length.js'; | ||
const [major, minor] = process.version | ||
.slice(1) | ||
.split('.') | ||
.map((str) => parseInt(str, 10)); | ||
const electron = 'electron' in process.versions; | ||
const rsaPssParams = !electron && (major >= 17 || (major === 16 && minor >= 9)); | ||
import { rsaPssParams } from './flags.js'; | ||
const PSS = { | ||
@@ -13,0 +8,0 @@ padding: constants.RSA_PKCS1_PSS_PADDING, |
@@ -7,9 +7,5 @@ import * as crypto from 'crypto'; | ||
import getVerifyKey from './get_sign_verify_key.js'; | ||
const [major, minor] = process.version | ||
.slice(1) | ||
.split('.') | ||
.map((str) => parseInt(str, 10)); | ||
const oneShotCallbackSupported = major >= 16 || (major === 15 && minor >= 13); | ||
import { oneShotCallback } from './flags.js'; | ||
let oneShotVerify; | ||
if (crypto.verify.length > 4 && oneShotCallbackSupported) { | ||
if (crypto.verify.length > 4 && oneShotCallback) { | ||
oneShotVerify = promisify(crypto.verify); | ||
@@ -16,0 +12,0 @@ } |
export class JOSEError extends Error { | ||
static get code() { | ||
return 'ERR_JOSE_GENERIC'; | ||
} | ||
constructor(message) { | ||
@@ -9,7 +12,7 @@ var _a; | ||
} | ||
} | ||
export class JWTClaimValidationFailed extends JOSEError { | ||
static get code() { | ||
return 'ERR_JOSE_GENERIC'; | ||
return 'ERR_JWT_CLAIM_VALIDATION_FAILED'; | ||
} | ||
} | ||
export class JWTClaimValidationFailed extends JOSEError { | ||
constructor(message, claim = 'unspecified', reason = 'unspecified') { | ||
@@ -21,7 +24,7 @@ super(message); | ||
} | ||
} | ||
export class JWTExpired extends JOSEError { | ||
static get code() { | ||
return 'ERR_JWT_CLAIM_VALIDATION_FAILED'; | ||
return 'ERR_JWT_EXPIRED'; | ||
} | ||
} | ||
export class JWTExpired extends JOSEError { | ||
constructor(message, claim = 'unspecified', reason = 'unspecified') { | ||
@@ -33,5 +36,2 @@ super(message); | ||
} | ||
static get code() { | ||
return 'ERR_JWT_EXPIRED'; | ||
} | ||
} | ||
@@ -38,0 +38,0 @@ export class JOSEAlgNotAllowed extends JOSEError { |
@@ -6,3 +6,3 @@ import type { FlattenedJWSInput, JWSHeaderParameters } from '../types'; | ||
* token's "jwk" (JSON Web Key) Header Parameter. It is recommended to combine this with the verify | ||
* algorithms option to whitelist JWS algorithms to accept. | ||
* function's `algorithms` option to define accepted JWS "alg" (Algorithm) Header Parameter values. | ||
* | ||
@@ -9,0 +9,0 @@ * @example Usage |
import type { JWSHeaderParameters, JWEHeaderParameters } from '../types'; | ||
export declare type ProtectedHeaderParameters = JWSHeaderParameters & JWEHeaderParameters; | ||
export type ProtectedHeaderParameters = JWSHeaderParameters & JWEHeaderParameters; | ||
/** | ||
@@ -4,0 +4,0 @@ * Decodes the Protected Header of a JWE/JWS/JWT token utilizing any JOSE serialization. |
{ | ||
"name": "jose", | ||
"version": "4.11.1", | ||
"version": "4.11.2", | ||
"description": "'JSON Web Almost Everything' - JWA, JWS, JWE, JWT, JWK, JWKS for Node.js, Browser, Cloudflare Workers, Deno, Bun, and other Web-interoperable runtimes", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -41,3 +41,3 @@ # jose | ||
```js | ||
import * as jose from 'https://deno.land/x/jose@v4.11.1/index.ts' | ||
import * as jose from 'https://deno.land/x/jose@v4.11.2/index.ts' | ||
``` | ||
@@ -44,0 +44,0 @@ |
562793
282
13912