5.2 KiB
Class: 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 { default: 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)
Index
Constructors
Methods
- encrypt
- setContentEncryptionKey
- setInitializationVector
- setKeyManagementParameters
- setProtectedHeader
Constructors
constructor
+ new CompactEncrypt(plaintext: Uint8Array): CompactEncrypt
Defined in src/jwe/compact/encrypt.ts:45
Parameters:
| Name | Type | Description |
|---|---|---|
plaintext |
Uint8Array | Binary representation of the plaintext to encrypt. |
Returns: CompactEncrypt
Methods
encrypt
▸ encrypt(key: KeyLike, options?: EncryptOptions): Promise<string>
Defined in src/jwe/compact/encrypt.ts:108
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>
setContentEncryptionKey
▸ setContentEncryptionKey(cek: Uint8Array): this
Defined in src/jwe/compact/encrypt.ts:62
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: this
setInitializationVector
▸ setInitializationVector(iv: Uint8Array): this
Defined in src/jwe/compact/encrypt.ts:75
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: this
setKeyManagementParameters
▸ setKeyManagementParameters(parameters: JWEKeyManagementHeaderParameters): this
Defined in src/jwe/compact/encrypt.ts:97
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: this
setProtectedHeader
▸ setProtectedHeader(protectedHeader: JWEHeaderParameters): this
Defined in src/jwe/compact/encrypt.ts:85
Sets the JWE Protected Header on the CompactEncrypt object.
Parameters:
| Name | Type | Description |
|---|---|---|
protectedHeader |
JWEHeaderParameters | JWE Protected Header object. |
Returns: this