/var/www/greso.tech/server/nsm/node_modules/jose/dist/node/esm/runtime
NameSizeModeActions
aeskw.js20990644editdlrm
asn1.js15220644editdlrm
asn1_sequence_decoder.js12850644editdlrm
asn1_sequence_encoder.js33440644editdlrm
base64url.js7360644editdlrm
cbc_tag.js3830644editdlrm
check_cek_length.js13150644editdlrm
check_modulus_length.js15450644editdlrm
ciphers.js1700644editdlrm
decrypt.js32970644editdlrm
digest.js1410644editdlrm
dsa_digest.js6120644editdlrm
ecdhes.js24470644editdlrm
encrypt.js27670644editdlrm
fetch_jwks.js12770644editdlrm
flags.js4190644editdlrm
generate.js39070644editdlrm
get_named_curve.js32620644editdlrm
get_sign_verify_key.js7590644editdlrm
hmac_digest.js4060644editdlrm
is_key_like.js3500644editdlrm
is_key_object.js2030644editdlrm
jwk_to_key.js48880644editdlrm
key_to_jwk.js65080644editdlrm
node_key.js33870644editdlrm
pbes2kw.js18440644editdlrm
random.js520644editdlrm
rsaes.js21910644editdlrm
sign.js7240644editdlrm
timing_safe_equal.js1120644editdlrm
verify.js10570644editdlrm
webcrypto.js2490644editdlrm
zlib.js3070644editdlrm
Edit: /var/www/greso.tech/server/nsm/node_modules/jose/dist/node/esm/runtime/get_named_curve.js (3262B)
import { Buffer } from 'buffer'; import { createPublicKey, KeyObject } from 'crypto'; import { JOSENotSupported } from '../util/errors.js'; import { isCryptoKey } from './webcrypto.js'; import isKeyObject from './is_key_object.js'; import invalidKeyInput from '../lib/invalid_key_input.js'; import { types } from './is_key_like.js'; const p256 = Buffer.from([42, 134, 72, 206, 61, 3, 1, 7]); const p384 = Buffer.from([43, 129, 4, 0, 34]); const p521 = Buffer.from([43, 129, 4, 0, 35]); const secp256k1 = Buffer.from([43, 129, 4, 0, 10]); export const weakMap = new WeakMap(); const namedCurveToJOSE = (namedCurve) => { switch (namedCurve) { case 'prime256v1': return 'P-256'; case 'secp384r1': return 'P-384'; case 'secp521r1': return 'P-521'; case 'secp256k1': return 'secp256k1'; default: throw new JOSENotSupported('Unsupported key curve for this operation'); } }; const getNamedCurve = (kee, raw) => { var _a; let key; if (isCryptoKey(kee)) { key = KeyObject.from(kee); } else if (isKeyObject(kee)) { key = kee; } else { throw new TypeError(invalidKeyInput(kee, ...types)); } if (key.type === 'secret') { throw new TypeError('only "private" or "public" type keys can be used for this operation'); } switch (key.asymmetricKeyType) { case 'ed25519': case 'ed448': return `Ed${key.asymmetricKeyType.slice(2)}`; case 'x25519': case 'x448': return `X${key.asymmetricKeyType.slice(1)}`; case 'ec': { if (weakMap.has(key)) { return weakMap.get(key); } let namedCurve = (_a = key.asymmetricKeyDetails) === null || _a === void 0 ? void 0 : _a.namedCurve; if (!namedCurve && key.type === 'private') { namedCurve = getNamedCurve(createPublicKey(key), true); } else if (!namedCurve) { const buf = key.export({ format: 'der', type: 'spki' }); const i = buf[1] < 128 ? 14 : 15; const len = buf[i]; const curveOid = buf.slice(i + 1, i + 1 + len); if (curveOid.equals(p256)) { namedCurve = 'prime256v1'; } else if (curveOid.equals(p384)) { namedCurve = 'secp384r1'; } else if (curveOid.equals(p521)) { namedCurve = 'secp521r1'; } else if (curveOid.equals(secp256k1)) { namedCurve = 'secp256k1'; } else { throw new JOSENotSupported('Unsupported key curve for this operation'); } } if (raw) return namedCurve; const curve = namedCurveToJOSE(namedCurve); weakMap.set(key, curve); return curve; } default: throw new TypeError('Invalid asymmetric key type for this operation'); } }; export function setCurve(keyObject, curve) { weakMap.set(keyObject, curve); } export default getNamedCurve;