Socket
Socket
Sign inDemoInstall

jose

Package Overview
Dependencies
Maintainers
1
Versions
209
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jose - npm Package Compare versions

Comparing version 3.9.0 to 3.10.0

12

dist/node/cjs/runtime/jwk_to_key.js

@@ -9,3 +9,15 @@ "use strict";

const asn1_sequence_encoder_js_1 = require("./asn1_sequence_encoder.js");
const [major, minor] = process.version
.substr(1)
.split('.')
.map((str) => parseInt(str, 10));
const jwkImportSupported = major >= 16 || (major === 15 && minor >= 12);
const parse = (jwk) => {
if (jwkImportSupported && jwk.kty !== 'oct') {
return jwk.d
?
crypto_1.createPrivateKey({ format: 'jwk', key: jwk })
:
crypto_1.createPublicKey({ format: 'jwk', key: jwk });
}
switch (jwk.kty) {

@@ -12,0 +24,0 @@ case 'oct': {

@@ -9,2 +9,7 @@ "use strict";

const webcrypto_js_1 = require("./webcrypto.js");
const [major, minor] = process.version
.substr(1)
.split('.')
.map((str) => parseInt(str, 10));
const jwkExportSupported = major >= 16 || (major === 15 && minor >= 9);
const keyToJWK = (key) => {

@@ -17,2 +22,5 @@ if (webcrypto_js_1.isCryptoKey(key)) {

}
if (jwkExportSupported) {
return key.export({ format: 'jwk' });
}
switch (key.type) {

@@ -19,0 +27,0 @@ case 'secret':

11

dist/node/cjs/runtime/sign.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const crypto_1 = require("crypto");
const crypto = require("crypto");
const util_1 = require("util");
const dsa_digest_js_1 = require("./dsa_digest.js");

@@ -9,2 +10,6 @@ const hmac_digest_js_1 = require("./hmac_digest.js");

const webcrypto_js_1 = require("./webcrypto.js");
let oneShotSign = crypto.sign;
if (oneShotSign.length > 3) {
oneShotSign = util_1.promisify(oneShotSign);
}
const sign = async (alg, key, data) => {

@@ -29,8 +34,8 @@ let keyObject;

}
const hmac = crypto_1.createHmac(hmac_digest_js_1.default(alg), keyObject);
const hmac = crypto.createHmac(hmac_digest_js_1.default(alg), keyObject);
hmac.update(data);
return hmac.digest();
}
return crypto_1.sign(dsa_digest_js_1.default(alg), data, node_key_js_1.default(alg, keyObject));
return oneShotSign(dsa_digest_js_1.default(alg), data, node_key_js_1.default(alg, keyObject));
};
exports.default = sign;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const crypto_1 = require("crypto");
const crypto = require("crypto");
const util_1 = require("util");
const dsa_digest_js_1 = require("./dsa_digest.js");

@@ -8,2 +9,6 @@ const node_key_js_1 = require("./node_key.js");

const webcrypto_js_1 = require("./webcrypto.js");
let oneShotVerify = crypto.verify;
if (oneShotVerify.length > 4) {
oneShotVerify = util_1.promisify(oneShotVerify);
}
const verify = async (alg, key, signature, data) => {

@@ -14,3 +19,3 @@ if (alg.startsWith('HS')) {

try {
return crypto_1.timingSafeEqual(actual, expected);
return crypto.timingSafeEqual(actual, expected);
}

@@ -25,3 +30,3 @@ catch {

}
else if (!(key instanceof crypto_1.KeyObject)) {
else if (!(key instanceof crypto.KeyObject)) {
throw new TypeError('invalid key object type provided');

@@ -31,3 +36,3 @@ }

try {
return crypto_1.verify(algorithm, data, keyInput, signature);
return oneShotVerify(algorithm, data, keyInput, signature);
}

@@ -34,0 +39,0 @@ catch {

@@ -7,3 +7,15 @@ import { createPrivateKey, createPublicKey, createSecretKey } from 'crypto';

import Asn1SequenceEncoder from './asn1_sequence_encoder.js';
const [major, minor] = process.version
.substr(1)
.split('.')
.map((str) => parseInt(str, 10));
const jwkImportSupported = major >= 16 || (major === 15 && minor >= 12);
const parse = (jwk) => {
if (jwkImportSupported && jwk.kty !== 'oct') {
return jwk.d
?
createPrivateKey({ format: 'jwk', key: jwk })
:
createPublicKey({ format: 'jwk', key: jwk });
}
switch (jwk.kty) {

@@ -10,0 +22,0 @@ case 'oct': {

@@ -7,2 +7,7 @@ import { KeyObject, createPublicKey } from 'crypto';

import { isCryptoKey, getKeyObject } from './webcrypto.js';
const [major, minor] = process.version
.substr(1)
.split('.')
.map((str) => parseInt(str, 10));
const jwkExportSupported = major >= 16 || (major === 15 && minor >= 9);
const keyToJWK = (key) => {

@@ -15,2 +20,5 @@ if (isCryptoKey(key)) {

}
if (jwkExportSupported) {
return key.export({ format: 'jwk' });
}
switch (key.type) {

@@ -17,0 +25,0 @@ case 'secret':

@@ -1,2 +0,3 @@

import { sign as oneShotSign, createHmac } from 'crypto';
import * as crypto from 'crypto';
import { promisify } from 'util';
import nodeDigest from './dsa_digest.js';

@@ -7,2 +8,6 @@ import hmacDigest from './hmac_digest.js';

import { isCryptoKey, getKeyObject } from './webcrypto.js';
let oneShotSign = crypto.sign;
if (oneShotSign.length > 3) {
oneShotSign = promisify(oneShotSign);
}
const sign = async (alg, key, data) => {

@@ -27,3 +32,3 @@ let keyObject;

}
const hmac = createHmac(hmacDigest(alg), keyObject);
const hmac = crypto.createHmac(hmacDigest(alg), keyObject);
hmac.update(data);

@@ -30,0 +35,0 @@ return hmac.digest();

@@ -1,2 +0,3 @@

import { verify as oneShotVerify, timingSafeEqual, KeyObject } from 'crypto';
import * as crypto from 'crypto';
import { promisify } from 'util';
import nodeDigest from './dsa_digest.js';

@@ -6,2 +7,6 @@ import nodeKey from './node_key.js';

import { isCryptoKey, getKeyObject } from './webcrypto.js';
let oneShotVerify = crypto.verify;
if (oneShotVerify.length > 4) {
oneShotVerify = promisify(oneShotVerify);
}
const verify = async (alg, key, signature, data) => {

@@ -12,3 +17,3 @@ if (alg.startsWith('HS')) {

try {
return timingSafeEqual(actual, expected);
return crypto.timingSafeEqual(actual, expected);
}

@@ -23,3 +28,3 @@ catch {

}
else if (!(key instanceof KeyObject)) {
else if (!(key instanceof crypto.KeyObject)) {
throw new TypeError('invalid key object type provided');

@@ -26,0 +31,0 @@ }

{
"name": "jose",
"version": "3.9.0",
"version": "3.10.0",
"description": "Universal 'JSON Web Almost Everything' - JWA, JWS, JWE, JWT, JWK with no dependencies",

@@ -5,0 +5,0 @@ "keywords": [

@@ -81,3 +81,3 @@ # jose

- [Unsecured JWT](docs/classes/jwt_unsecured.unsecuredjwt.md#readme)
- [JOSE Errors](docs/modules/util_errors.md)
- [JOSE Errors](docs/modules/util_errors.md#readme)

@@ -84,0 +84,0 @@ ## Examples

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc