/
opt
/
canhelp
/
node_modules
/
jose
/
dist
/
webapi
/
jwt
/
/opt/canhelp/node_modules/jose/dist/webapi/jwt
mkdir
upload
Name
Size
Mode
Actions
decrypt.js
1285
0644
edit
dl
rm
encrypt.js
3087
0644
edit
dl
rm
sign.js
1455
0644
edit
dl
rm
unsecured.js
1903
0644
edit
dl
rm
verify.js
737
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/jose/dist/webapi/jwt/encrypt.js
(3087B)
import { CompactEncrypt } from '../jwe/compact/encrypt.js'; import { JWTClaimsBuilder } from '../lib/jwt_claims_set.js'; import { assertNotSet } from '../lib/helpers.js'; export class EncryptJWT { #cek; #iv; #keyManagementParameters; #protectedHeader; #replicateIssuerAsHeader; #replicateSubjectAsHeader; #replicateAudienceAsHeader; #jwt; constructor(payload = {}) { this.#jwt = new JWTClaimsBuilder(payload); } setIssuer(issuer) { this.#jwt.iss = issuer; return this; } setSubject(subject) { this.#jwt.sub = subject; return this; } setAudience(audience) { this.#jwt.aud = audience; return this; } setJti(jwtId) { this.#jwt.jti = jwtId; return this; } setNotBefore(input) { this.#jwt.nbf = input; return this; } setExpirationTime(input) { this.#jwt.exp = input; return this; } setIssuedAt(input) { this.#jwt.iat = input; return this; } setProtectedHeader(protectedHeader) { assertNotSet(this.#protectedHeader, 'setProtectedHeader'); this.#protectedHeader = protectedHeader; return this; } setKeyManagementParameters(parameters) { assertNotSet(this.#keyManagementParameters, 'setKeyManagementParameters'); this.#keyManagementParameters = parameters; return this; } setContentEncryptionKey(cek) { assertNotSet(this.#cek, 'setContentEncryptionKey'); this.#cek = cek; return this; } setInitializationVector(iv) { assertNotSet(this.#iv, 'setInitializationVector'); this.#iv = iv; return this; } replicateIssuerAsHeader() { this.#replicateIssuerAsHeader = true; return this; } replicateSubjectAsHeader() { this.#replicateSubjectAsHeader = true; return this; } replicateAudienceAsHeader() { this.#replicateAudienceAsHeader = true; return this; } async encrypt(key, options) { const enc = new CompactEncrypt(this.#jwt.data()); if (this.#protectedHeader && (this.#replicateIssuerAsHeader || this.#replicateSubjectAsHeader || this.#replicateAudienceAsHeader)) { this.#protectedHeader = { ...this.#protectedHeader, iss: this.#replicateIssuerAsHeader ? this.#jwt.iss : undefined, sub: this.#replicateSubjectAsHeader ? this.#jwt.sub : undefined, aud: this.#replicateAudienceAsHeader ? this.#jwt.aud : undefined, }; } enc.setProtectedHeader(this.#protectedHeader); if (this.#iv) { enc.setInitializationVector(this.#iv); } if (this.#cek) { enc.setContentEncryptionKey(this.#cek); } if (this.#keyManagementParameters) { enc.setKeyManagementParameters(this.#keyManagementParameters); } return enc.encrypt(key, options); } }
Save
cmd:
run