# Class: PublicKeyEncryptedSessionKeyPacket

## PublicKeyEncryptedSessionKeyPacket()

Public-Key Encrypted Session Key Packets (Tag 1)

RFC4880 5.1: A Public-Key Encrypted Session Key packet holds the session key used to encrypt a message. Zero or more Public-Key Encrypted Session Key packets and/or Symmetric-Key Encrypted Session Key packets may precede a Symmetrically Encrypted Data Packet, which holds an encrypted message. The message is encrypted with the session key, and the session key is itself encrypted and stored in the Encrypted Session Key packet(s). The Symmetrically Encrypted Data Packet is preceded by one Public-Key Encrypted Session Key packet for each OpenPGP key to which the message is encrypted. The recipient of the message finds a session key that is encrypted to their public key, decrypts the session key, and then uses the session key to decrypt the message.

## Constructor

#### new PublicKeyEncryptedSessionKeyPacket()

Source:
  - packet/public_key_encrypted_session_key.js, line 47

### Members

#### encrypted :Object

##### Type:

- Object

Source:
  - packet/public_key_encrypted_session_key.js, line 57

### Methods

#### (async) decrypt(key)

Decrypts the session key (only for public key encrypted session key packets (tag 1)

##### Parameters:

Name | Type | Description
--- | --- | ---
`key` | SecretKeyPacket | decrypted private key

Source:
  - packet/public_key_encrypted_session_key.js, line 119

##### Throws:

if decryption failed

Type
  Error

#### (async) encrypt(key)

Encrypt session key packet

##### Parameters:

Name | Type | Description
--- | --- | ---
`key` | PublicKeyPacket | Public key

Source:
  - packet/public_key_encrypted_session_key.js, line 101

##### Throws:

if encryption failed

Type
  Error

#### read(bytes)

Parsing function for a publickey encrypted session key packet (tag 1).

##### Parameters:

Name | Type | Description
--- | --- | ---
`bytes` | Uint8Array | Payload of a tag 1 packet

Source:
  - packet/public_key_encrypted_session_key.js, line 65

#### write() → {Uint8Array}

Create a binary representation of a tag 1 packet

Source:
  - packet/public_key_encrypted_session_key.js, line 82

##### Returns:

The Uint8Array representation.

Type
  Uint8Array