Edit: /tmp/tsx-0/17887-385045e91408704fdc8d6952b184ae961aab709c (12344B)
{"code":"__filename=\"/opt/canhelp/node_modules/jose/dist/webapi/lib/key_management.js\";(()=>{\nvar __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,\"name\",{value,configurable:true});var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from===\"object\"||typeof from===\"function\"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,\"default\",{value:mod,enumerable:true}):target,mod));var __toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:true}),mod);var key_management_exports={};__export(key_management_exports,{decryptKeyManagement:()=>decryptKeyManagement,encryptKeyManagement:()=>encryptKeyManagement});module.exports=__toCommonJS(key_management_exports);var aeskw=__toESM(require(\"./aeskw.js\"));var ecdhes=__toESM(require(\"./ecdhes.js\"));var pbes2kw=__toESM(require(\"./pbes2kw.js\"));var rsaes=__toESM(require(\"./rsaes.js\"));var import_base64url=require(\"../util/base64url.js\");var import_normalize_key=require(\"./normalize_key.js\");var import_errors=require(\"../util/errors.js\");var import_helpers=require(\"./helpers.js\");var import_content_encryption=require(\"./content_encryption.js\");var import_import=require(\"../key/import.js\");var import_export=require(\"../key/export.js\");var import_type_checks=require(\"./type_checks.js\");var import_aesgcmkw=require(\"./aesgcmkw.js\");var import_is_key_like=require(\"./is_key_like.js\");const unsupportedAlgHeader='Invalid or unsupported \"alg\" (JWE Algorithm) header value';function assertEncryptedKey(encryptedKey){if(encryptedKey===void 0)throw new import_errors.JWEInvalid(\"JWE Encrypted Key missing\")}__name(assertEncryptedKey,\"assertEncryptedKey\");async function decryptKeyManagement(alg,key,encryptedKey,joseHeader,options){switch(alg){case\"dir\":{if(encryptedKey!==void 0)throw new import_errors.JWEInvalid(\"Encountered unexpected JWE Encrypted Key\");return key}case\"ECDH-ES\":if(encryptedKey!==void 0)throw new import_errors.JWEInvalid(\"Encountered unexpected JWE Encrypted Key\");case\"ECDH-ES+A128KW\":case\"ECDH-ES+A192KW\":case\"ECDH-ES+A256KW\":{if(!(0,import_type_checks.isObject)(joseHeader.epk))throw new import_errors.JWEInvalid(`JOSE Header \"epk\" (Ephemeral Public Key) missing or invalid`);(0,import_is_key_like.assertCryptoKey)(key);if(!ecdhes.allowed(key))throw new import_errors.JOSENotSupported(\"ECDH with the provided key is not allowed or not supported by your javascript runtime\");const epk=await(0,import_import.importJWK)(joseHeader.epk,alg);(0,import_is_key_like.assertCryptoKey)(epk);let partyUInfo;let partyVInfo;if(joseHeader.apu!==void 0){if(typeof joseHeader.apu!==\"string\")throw new import_errors.JWEInvalid(`JOSE Header \"apu\" (Agreement PartyUInfo) invalid`);partyUInfo=(0,import_helpers.decodeBase64url)(joseHeader.apu,\"apu\",import_errors.JWEInvalid)}if(joseHeader.apv!==void 0){if(typeof joseHeader.apv!==\"string\")throw new import_errors.JWEInvalid(`JOSE Header \"apv\" (Agreement PartyVInfo) invalid`);partyVInfo=(0,import_helpers.decodeBase64url)(joseHeader.apv,\"apv\",import_errors.JWEInvalid)}const sharedSecret=await ecdhes.deriveKey(epk,key,alg===\"ECDH-ES\"?joseHeader.enc:alg,alg===\"ECDH-ES\"?(0,import_content_encryption.cekLength)(joseHeader.enc):parseInt(alg.slice(-5,-2),10),partyUInfo,partyVInfo);if(alg===\"ECDH-ES\")return sharedSecret;assertEncryptedKey(encryptedKey);return aeskw.unwrap(alg.slice(-6),sharedSecret,encryptedKey)}case\"RSA-OAEP\":case\"RSA-OAEP-256\":case\"RSA-OAEP-384\":case\"RSA-OAEP-512\":{assertEncryptedKey(encryptedKey);(0,import_is_key_like.assertCryptoKey)(key);return rsaes.decrypt(alg,key,encryptedKey)}case\"PBES2-HS256+A128KW\":case\"PBES2-HS384+A192KW\":case\"PBES2-HS512+A256KW\":{assertEncryptedKey(encryptedKey);if(typeof joseHeader.p2c!==\"number\")throw new import_errors.JWEInvalid(`JOSE Header \"p2c\" (PBES2 Count) missing or invalid`);const p2cLimit=options?.maxPBES2Count||1e4;if(joseHeader.p2c>p2cLimit)throw new import_errors.JWEInvalid(`JOSE Header \"p2c\" (PBES2 Count) out is of acceptable bounds`);if(typeof joseHeader.p2s!==\"string\")throw new import_errors.JWEInvalid(`JOSE Header \"p2s\" (PBES2 Salt) missing or invalid`);let p2s;p2s=(0,import_helpers.decodeBase64url)(joseHeader.p2s,\"p2s\",import_errors.JWEInvalid);return pbes2kw.unwrap(alg,key,encryptedKey,joseHeader.p2c,p2s)}case\"A128KW\":case\"A192KW\":case\"A256KW\":{assertEncryptedKey(encryptedKey);return aeskw.unwrap(alg,key,encryptedKey)}case\"A128GCMKW\":case\"A192GCMKW\":case\"A256GCMKW\":{assertEncryptedKey(encryptedKey);if(typeof joseHeader.iv!==\"string\")throw new import_errors.JWEInvalid(`JOSE Header \"iv\" (Initialization Vector) missing or invalid`);if(typeof joseHeader.tag!==\"string\")throw new import_errors.JWEInvalid(`JOSE Header \"tag\" (Authentication Tag) missing or invalid`);let iv;iv=(0,import_helpers.decodeBase64url)(joseHeader.iv,\"iv\",import_errors.JWEInvalid);let tag;tag=(0,import_helpers.decodeBase64url)(joseHeader.tag,\"tag\",import_errors.JWEInvalid);return(0,import_aesgcmkw.unwrap)(alg,key,encryptedKey,iv,tag)}default:{throw new import_errors.JOSENotSupported(unsupportedAlgHeader)}}}__name(decryptKeyManagement,\"decryptKeyManagement\");async function encryptKeyManagement(alg,enc,key,providedCek,providedParameters={}){let encryptedKey;let parameters;let cek;switch(alg){case\"dir\":{cek=key;break}case\"ECDH-ES\":case\"ECDH-ES+A128KW\":case\"ECDH-ES+A192KW\":case\"ECDH-ES+A256KW\":{(0,import_is_key_like.assertCryptoKey)(key);if(!ecdhes.allowed(key)){throw new import_errors.JOSENotSupported(\"ECDH with the provided key is not allowed or not supported by your javascript runtime\")}const{apu,apv}=providedParameters;let ephemeralKey;if(providedParameters.epk){ephemeralKey=await(0,import_normalize_key.normalizeKey)(providedParameters.epk,alg)}else{ephemeralKey=(await crypto.subtle.generateKey(key.algorithm,true,[\"deriveBits\"])).privateKey}const{x,y,crv,kty}=await(0,import_export.exportJWK)(ephemeralKey);const sharedSecret=await ecdhes.deriveKey(key,ephemeralKey,alg===\"ECDH-ES\"?enc:alg,alg===\"ECDH-ES\"?(0,import_content_encryption.cekLength)(enc):parseInt(alg.slice(-5,-2),10),apu,apv);parameters={epk:{x,crv,kty}};if(kty===\"EC\")parameters.epk.y=y;if(apu)parameters.apu=(0,import_base64url.encode)(apu);if(apv)parameters.apv=(0,import_base64url.encode)(apv);if(alg===\"ECDH-ES\"){cek=sharedSecret;break}cek=providedCek||(0,import_content_encryption.generateCek)(enc);const kwAlg=alg.slice(-6);encryptedKey=await aeskw.wrap(kwAlg,sharedSecret,cek);break}case\"RSA-OAEP\":case\"RSA-OAEP-256\":case\"RSA-OAEP-384\":case\"RSA-OAEP-512\":{cek=providedCek||(0,import_content_encryption.generateCek)(enc);(0,import_is_key_like.assertCryptoKey)(key);encryptedKey=await rsaes.encrypt(alg,key,cek);break}case\"PBES2-HS256+A128KW\":case\"PBES2-HS384+A192KW\":case\"PBES2-HS512+A256KW\":{cek=providedCek||(0,import_content_encryption.generateCek)(enc);const{p2c,p2s}=providedParameters;({encryptedKey,...parameters}=await pbes2kw.wrap(alg,key,cek,p2c,p2s));break}case\"A128KW\":case\"A192KW\":case\"A256KW\":{cek=providedCek||(0,import_content_encryption.generateCek)(enc);encryptedKey=await aeskw.wrap(alg,key,cek);break}case\"A128GCMKW\":case\"A192GCMKW\":case\"A256GCMKW\":{cek=providedCek||(0,import_content_encryption.generateCek)(enc);const{iv}=providedParameters;({encryptedKey,...parameters}=await(0,import_aesgcmkw.wrap)(alg,key,cek,iv));break}default:{throw new import_errors.JOSENotSupported(unsupportedAlgHeader)}}return{cek,encryptedKey,parameters}}__name(encryptKeyManagement,\"encryptKeyManagement\");0&&(module.exports={decryptKeyManagement,encryptKeyManagement});\n})()\n","warnings":[],"map":{"version":3,"mappings":"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","names":["aesGcmKwUnwrap","b64u","aesGcmKwWrap"],"ignoreList":[],"sources":["/opt/canhelp/node_modules/jose/dist/webapi/lib/key_management.js"],"sourcesContent":[null]}}