jose/docs/classes/_jwe_compact_encrypt_.compactencrypt.md
2020-12-02 10:00:42 +01:00

5.2 KiB
Raw Blame History

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('Its a dangerous business, Frodo, going out your door.'))
  .setProtectedHeader({ alg: 'RSA-OAEP-256', enc: 'A256GCM' })
  .encrypt(publicKey)

console.log(jwe)

Index

Constructors

Methods

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