5.7 KiB
Class: CompactEncrypt
jwe/compact/encrypt.CompactEncrypt
The CompactEncrypt class is a utility for creating Compact JWE strings.
example
// ESM import
import { CompactEncrypt } from 'jose/jwe/compact/encrypt'
example
// CJS import
const { CompactEncrypt } = require('jose/jwe/compact/encrypt')
example
// usage
import { parseJwk } from 'jose/jwk/parse'
const encoder = new TextEncoder()
const publicKey = await parseJwk({
e: 'AQAB',
n: 'qpzYkTGRKSUcd12hZaJnYEKVLfdEsqu6HBAxZgRSvzLFj_zTSAEXjbf3fX47MPEHRw8NDcEXPjVOz84t4FTXYF2w2_LGWfp_myjV8pR6oUUncJjS7DhnUmTG5bpuK2HFXRMRJYz_iNR48xRJPMoY84jrnhdIFx8Tqv6w4ZHVyEvcvloPgwG3UjLidP6jmqbTiJtidVLnpQJRuFNFQJiluQXBZ1nOLC7raQshu7L9y0IatVU7vf0BPnmuSkcNNvmQkSta6ODQBPaL5-o5SW8H37vQjPDkrlJpreViNa3jqP5DB5HYUO-DMh4FegRv9gZWLDEvXpSd9A13YXCa9Q8K_w',
kty: 'RSA'
}, 'RSA-OAEP-256')
const jwe = await new CompactEncrypt(encoder.encode('It’s a dangerous business, Frodo, going out your door.'))
.setProtectedHeader({ alg: 'RSA-OAEP-256', enc: 'A256GCM' })
.encrypt(publicKey)
console.log(jwe)
Table of contents
Constructors
Methods
- encrypt
- setContentEncryptionKey
- setInitializationVector
- setKeyManagementParameters
- setProtectedHeader
Constructors
constructor
+ new CompactEncrypt(plaintext: Uint8Array): CompactEncrypt
Parameters:
| Name | Type | Description |
|---|---|---|
plaintext |
Uint8Array | Binary representation of the plaintext to encrypt. |
Returns: CompactEncrypt
Defined in: jwe/compact/encrypt.ts:45
Methods
encrypt
▸ encrypt(key: KeyLike, options?: EncryptOptions): Promise<string>
Encrypts and resolves the value of the Compact JWE string.
Parameters:
| Name | Type | Description |
|---|---|---|
key |
KeyLike | Public Key or Secret to encrypt the JWE with. |
options? |
EncryptOptions | JWE Encryption options. |
Returns: Promise<string>
Defined in: jwe/compact/encrypt.ts:108
setContentEncryptionKey
▸ setContentEncryptionKey(cek: Uint8Array): CompactEncrypt
Sets a content encryption key to use, by default a random suitable one is generated for the JWE enc" (Encryption Algorithm) Header Parameter. You do not need to invoke this method, it is only really intended for test and vector validation purposes.
Parameters:
| Name | Type | Description |
|---|---|---|
cek |
Uint8Array | JWE Content Encryption Key. |
Returns: CompactEncrypt
Defined in: jwe/compact/encrypt.ts:62
setInitializationVector
▸ setInitializationVector(iv: Uint8Array): CompactEncrypt
Sets the JWE Initialization Vector to use for content encryption, by default a random suitable one is generated for the JWE enc" (Encryption Algorithm) Header Parameter. You do not need to invoke this method, it is only really intended for test and vector validation purposes.
Parameters:
| Name | Type | Description |
|---|---|---|
iv |
Uint8Array | JWE Initialization Vector. |
Returns: CompactEncrypt
Defined in: jwe/compact/encrypt.ts:75
setKeyManagementParameters
▸ setKeyManagementParameters(parameters: JWEKeyManagementHeaderParameters): CompactEncrypt
Sets the JWE Key Management parameters to be used when encrypting the Content Encryption Key. You do not need to invoke this method, it is only really intended for test and vector validation purposes.
Parameters:
| Name | Type | Description |
|---|---|---|
parameters |
JWEKeyManagementHeaderParameters | JWE Key Management parameters. |
Returns: CompactEncrypt
Defined in: jwe/compact/encrypt.ts:97
setProtectedHeader
▸ setProtectedHeader(protectedHeader: JWEHeaderParameters): CompactEncrypt
Sets the JWE Protected Header on the CompactEncrypt object.
Parameters:
| Name | Type | Description |
|---|---|---|
protectedHeader |
JWEHeaderParameters | JWE Protected Header object. |
Returns: CompactEncrypt
Defined in: jwe/compact/encrypt.ts:85