/var/www/greso.tech/server/nsm/node_modules/jose/dist/node/cjs/runtime
NameSizeModeActions
aeskw.js25240644editdlrm
asn1.js19600644editdlrm
asn1_sequence_decoder.js13860644editdlrm
asn1_sequence_encoder.js36320644editdlrm
base64url.js11050644editdlrm
cbc_tag.js5320644editdlrm
check_cek_length.js14470644editdlrm
check_modulus_length.js17430644editdlrm
ciphers.js2630644editdlrm
decrypt.js38010644editdlrm
digest.js2340644editdlrm
dsa_digest.js7110644editdlrm
ecdhes.js31750644editdlrm
encrypt.js32260644editdlrm
fetch_jwks.js14600644editdlrm
flags.js5730644editdlrm
generate.js42560644editdlrm
get_named_curve.js36180644editdlrm
get_sign_verify_key.js10140644editdlrm
hmac_digest.js5060644editdlrm
is_key_like.js5430644editdlrm
is_key_object.js2920644editdlrm
jwk_to_key.js55350644editdlrm
key_to_jwk.js71800644editdlrm
node_key.js36760644editdlrm
pbes2kw.js23020644editdlrm
random.js2560644editdlrm
rsaes.js25340644editdlrm
sign.js9480644editdlrm
timing_safe_equal.js1980644editdlrm
verify.js12820644editdlrm
webcrypto.js3540644editdlrm
zlib.js4530644editdlrm
Edit: /var/www/greso.tech/server/nsm/node_modules/jose/dist/node/cjs/runtime/node_key.js (3676B)
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const crypto_1 = require("crypto"); const get_named_curve_js_1 = require("./get_named_curve.js"); const errors_js_1 = require("../util/errors.js"); const check_modulus_length_js_1 = require("./check_modulus_length.js"); const flags_js_1 = require("./flags.js"); const PSS = { padding: crypto_1.constants.RSA_PKCS1_PSS_PADDING, saltLength: crypto_1.constants.RSA_PSS_SALTLEN_DIGEST, }; const ecCurveAlgMap = new Map([ ['ES256', 'P-256'], ['ES256K', 'secp256k1'], ['ES384', 'P-384'], ['ES512', 'P-521'], ]); function keyForCrypto(alg, key) { switch (alg) { case 'EdDSA': if (!['ed25519', 'ed448'].includes(key.asymmetricKeyType)) { throw new TypeError('Invalid key for this operation, its asymmetricKeyType must be ed25519 or ed448'); } return key; case 'RS256': case 'RS384': case 'RS512': if (key.asymmetricKeyType !== 'rsa') { throw new TypeError('Invalid key for this operation, its asymmetricKeyType must be rsa'); } (0, check_modulus_length_js_1.default)(key, alg); return key; case flags_js_1.rsaPssParams && 'PS256': case flags_js_1.rsaPssParams && 'PS384': case flags_js_1.rsaPssParams && 'PS512': if (key.asymmetricKeyType === 'rsa-pss') { const { hashAlgorithm, mgf1HashAlgorithm, saltLength } = key.asymmetricKeyDetails; const length = parseInt(alg.slice(-3), 10); if (hashAlgorithm !== undefined && (hashAlgorithm !== `sha${length}` || mgf1HashAlgorithm !== hashAlgorithm)) { throw new TypeError(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${alg}`); } if (saltLength !== undefined && saltLength > length >> 3) { throw new TypeError(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${alg}`); } } else if (key.asymmetricKeyType !== 'rsa') { throw new TypeError('Invalid key for this operation, its asymmetricKeyType must be rsa or rsa-pss'); } (0, check_modulus_length_js_1.default)(key, alg); return { key, ...PSS }; case !flags_js_1.rsaPssParams && 'PS256': case !flags_js_1.rsaPssParams && 'PS384': case !flags_js_1.rsaPssParams && 'PS512': if (key.asymmetricKeyType !== 'rsa') { throw new TypeError('Invalid key for this operation, its asymmetricKeyType must be rsa'); } (0, check_modulus_length_js_1.default)(key, alg); return { key, ...PSS }; case 'ES256': case 'ES256K': case 'ES384': case 'ES512': { if (key.asymmetricKeyType !== 'ec') { throw new TypeError('Invalid key for this operation, its asymmetricKeyType must be ec'); } const actual = (0, get_named_curve_js_1.default)(key); const expected = ecCurveAlgMap.get(alg); if (actual !== expected) { throw new TypeError(`Invalid key curve for the algorithm, its curve must be ${expected}, got ${actual}`); } return { dsaEncoding: 'ieee-p1363', key }; } default: throw new errors_js_1.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`); } } exports.default = keyForCrypto;