Edit: /tmp/tsx-0/17887-960fcabd41bae5d650ef276bf7e96a7a5465f67d (13021B)
{"code":"__filename=\"/opt/canhelp/node_modules/jose/dist/webapi/lib/content_encryption.js\";(()=>{\nvar __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;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 __toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:true}),mod);var content_encryption_exports={};__export(content_encryption_exports,{cekLength:()=>cekLength,checkIvLength:()=>checkIvLength,decrypt:()=>decrypt,encrypt:()=>encrypt,generateCek:()=>generateCek,generateIv:()=>generateIv});module.exports=__toCommonJS(content_encryption_exports);var import_buffer_utils=require(\"./buffer_utils.js\");var import_crypto_key=require(\"./crypto_key.js\");var import_invalid_key_input=require(\"./invalid_key_input.js\");var import_errors=require(\"../util/errors.js\");var import_is_key_like=require(\"./is_key_like.js\");function cekLength(alg){switch(alg){case\"A128GCM\":return 128;case\"A192GCM\":return 192;case\"A256GCM\":case\"A128CBC-HS256\":return 256;case\"A192CBC-HS384\":return 384;case\"A256CBC-HS512\":return 512;default:throw new import_errors.JOSENotSupported(`Unsupported JWE Algorithm: ${alg}`)}}__name(cekLength,\"cekLength\");const generateCek=__name(alg=>crypto.getRandomValues(new Uint8Array(cekLength(alg)>>3)),\"generateCek\");function checkCekLength(cek,expected){const actual=cek.byteLength<<3;if(actual!==expected){throw new import_errors.JWEInvalid(`Invalid Content Encryption Key length. Expected ${expected} bits, got ${actual} bits`)}}__name(checkCekLength,\"checkCekLength\");function ivBitLength(alg){switch(alg){case\"A128GCM\":case\"A128GCMKW\":case\"A192GCM\":case\"A192GCMKW\":case\"A256GCM\":case\"A256GCMKW\":return 96;case\"A128CBC-HS256\":case\"A192CBC-HS384\":case\"A256CBC-HS512\":return 128;default:throw new import_errors.JOSENotSupported(`Unsupported JWE Algorithm: ${alg}`)}}__name(ivBitLength,\"ivBitLength\");const generateIv=__name(alg=>crypto.getRandomValues(new Uint8Array(ivBitLength(alg)>>3)),\"generateIv\");function checkIvLength(enc,iv){if(iv.length<<3!==ivBitLength(enc)){throw new import_errors.JWEInvalid(\"Invalid Initialization Vector length\")}}__name(checkIvLength,\"checkIvLength\");async function cbcKeySetup(enc,cek,usage){if(!(cek instanceof Uint8Array)){throw new TypeError((0,import_invalid_key_input.invalidKeyInput)(cek,\"Uint8Array\"))}const keySize=parseInt(enc.slice(1,4),10);const encKey=await crypto.subtle.importKey(\"raw\",cek.subarray(keySize>>3),\"AES-CBC\",false,[usage]);const macKey=await crypto.subtle.importKey(\"raw\",cek.subarray(0,keySize>>3),{hash:`SHA-${keySize<<1}`,name:\"HMAC\"},false,[\"sign\"]);return{encKey,macKey,keySize}}__name(cbcKeySetup,\"cbcKeySetup\");async function cbcHmacTag(macKey,macData,keySize){return new Uint8Array((await crypto.subtle.sign(\"HMAC\",macKey,macData)).slice(0,keySize>>3))}__name(cbcHmacTag,\"cbcHmacTag\");async function cbcEncrypt(enc,plaintext,cek,iv,aad){const{encKey,macKey,keySize}=await cbcKeySetup(enc,cek,\"encrypt\");const ciphertext=new Uint8Array(await crypto.subtle.encrypt({iv,name:\"AES-CBC\"},encKey,plaintext));const macData=(0,import_buffer_utils.concat)(aad,iv,ciphertext,(0,import_buffer_utils.uint64be)(aad.length<<3));const tag=await cbcHmacTag(macKey,macData,keySize);return{ciphertext,tag,iv}}__name(cbcEncrypt,\"cbcEncrypt\");async function timingSafeEqual(a,b){if(!(a instanceof Uint8Array)){throw new TypeError(\"First argument must be a buffer\")}if(!(b instanceof Uint8Array)){throw new TypeError(\"Second argument must be a buffer\")}const algorithm={name:\"HMAC\",hash:\"SHA-256\"};const key=await crypto.subtle.generateKey(algorithm,false,[\"sign\"]);const aHmac=new Uint8Array(await crypto.subtle.sign(algorithm,key,a));const bHmac=new Uint8Array(await crypto.subtle.sign(algorithm,key,b));let out=0;let i=-1;while(++i<32){out|=aHmac[i]^bHmac[i]}return out===0}__name(timingSafeEqual,\"timingSafeEqual\");async function cbcDecrypt(enc,cek,ciphertext,iv,tag,aad){const{encKey,macKey,keySize}=await cbcKeySetup(enc,cek,\"decrypt\");const macData=(0,import_buffer_utils.concat)(aad,iv,ciphertext,(0,import_buffer_utils.uint64be)(aad.length<<3));const expectedTag=await cbcHmacTag(macKey,macData,keySize);let macCheckPassed;try{macCheckPassed=await timingSafeEqual(tag,expectedTag)}catch{}if(!macCheckPassed){throw new import_errors.JWEDecryptionFailed}let plaintext;try{plaintext=new Uint8Array(await crypto.subtle.decrypt({iv,name:\"AES-CBC\"},encKey,ciphertext))}catch{}if(!plaintext){throw new import_errors.JWEDecryptionFailed}return plaintext}__name(cbcDecrypt,\"cbcDecrypt\");async function gcmEncrypt(enc,plaintext,cek,iv,aad){let encKey;if(cek instanceof Uint8Array){encKey=await crypto.subtle.importKey(\"raw\",cek,\"AES-GCM\",false,[\"encrypt\"])}else{(0,import_crypto_key.checkEncCryptoKey)(cek,enc,\"encrypt\");encKey=cek}const encrypted=new Uint8Array(await crypto.subtle.encrypt({additionalData:aad,iv,name:\"AES-GCM\",tagLength:128},encKey,plaintext));const tag=encrypted.slice(-16);const ciphertext=encrypted.slice(0,-16);return{ciphertext,tag,iv}}__name(gcmEncrypt,\"gcmEncrypt\");async function gcmDecrypt(enc,cek,ciphertext,iv,tag,aad){let encKey;if(cek instanceof Uint8Array){encKey=await crypto.subtle.importKey(\"raw\",cek,\"AES-GCM\",false,[\"decrypt\"])}else{(0,import_crypto_key.checkEncCryptoKey)(cek,enc,\"decrypt\");encKey=cek}try{return new Uint8Array(await crypto.subtle.decrypt({additionalData:aad,iv,name:\"AES-GCM\",tagLength:128},encKey,(0,import_buffer_utils.concat)(ciphertext,tag)))}catch{throw new import_errors.JWEDecryptionFailed}}__name(gcmDecrypt,\"gcmDecrypt\");const unsupportedEnc=\"Unsupported JWE Content Encryption Algorithm\";async function encrypt(enc,plaintext,cek,iv,aad){if(!(0,import_is_key_like.isCryptoKey)(cek)&&!(cek instanceof Uint8Array)){throw new TypeError((0,import_invalid_key_input.invalidKeyInput)(cek,\"CryptoKey\",\"KeyObject\",\"Uint8Array\",\"JSON Web Key\"))}if(iv){checkIvLength(enc,iv)}else{iv=generateIv(enc)}switch(enc){case\"A128CBC-HS256\":case\"A192CBC-HS384\":case\"A256CBC-HS512\":if(cek instanceof Uint8Array){checkCekLength(cek,parseInt(enc.slice(-3),10))}return cbcEncrypt(enc,plaintext,cek,iv,aad);case\"A128GCM\":case\"A192GCM\":case\"A256GCM\":if(cek instanceof Uint8Array){checkCekLength(cek,parseInt(enc.slice(1,4),10))}return gcmEncrypt(enc,plaintext,cek,iv,aad);default:throw new import_errors.JOSENotSupported(unsupportedEnc)}}__name(encrypt,\"encrypt\");async function decrypt(enc,cek,ciphertext,iv,tag,aad){if(!(0,import_is_key_like.isCryptoKey)(cek)&&!(cek instanceof Uint8Array)){throw new TypeError((0,import_invalid_key_input.invalidKeyInput)(cek,\"CryptoKey\",\"KeyObject\",\"Uint8Array\",\"JSON Web Key\"))}if(!iv){throw new import_errors.JWEInvalid(\"JWE Initialization Vector missing\")}if(!tag){throw new import_errors.JWEInvalid(\"JWE Authentication Tag missing\")}checkIvLength(enc,iv);switch(enc){case\"A128CBC-HS256\":case\"A192CBC-HS384\":case\"A256CBC-HS512\":if(cek instanceof Uint8Array)checkCekLength(cek,parseInt(enc.slice(-3),10));return cbcDecrypt(enc,cek,ciphertext,iv,tag,aad);case\"A128GCM\":case\"A192GCM\":case\"A256GCM\":if(cek instanceof Uint8Array)checkCekLength(cek,parseInt(enc.slice(1,4),10));return gcmDecrypt(enc,cek,ciphertext,iv,tag,aad);default:throw new import_errors.JOSENotSupported(unsupportedEnc)}}__name(decrypt,\"decrypt\");0&&(module.exports={cekLength,checkIvLength,decrypt,encrypt,generateCek,generateIv});\n})()\n","warnings":[],"map":{"version":3,"mappings":"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","names":[],"ignoreList":[],"sources":["/opt/canhelp/node_modules/jose/dist/webapi/lib/content_encryption.js"],"sourcesContent":[null]}}