# Interface: EncryptionSession

# Table of contents

# Properties

# Methods

# Properties

# sessionId

sessionId: string

The sessionId for this EncryptionSession instance.

# Methods

# addRecipients

addRecipients(recipients, opts?): Promise<AuthorizeRecipientResult>

Add new recipients to this session. These recipients will be able to read all encrypted message of this session.

# Parameters

Name Type Description
recipients Recipients
opts? Object -
opts.allowUnregisteredUsers? boolean Optional. Whether or not to allow non-seald, unregistered recipients. Defaults to false.

# Returns

Promise<AuthorizeRecipientResult>


# decryptFile

decryptFile<T>(encryptedFile): Promise<{ data: T ; filename: string ; sessionId: string ; size: number ; type: FileType }>

Decrypts an encrypted file

# Type parameters

Name Type
T extends string | Buffer | Readable | Blob | ReadableStream<any>

# Parameters

Name Type
encryptedFile T

# Returns

Promise<{ data: T ; filename: string ; sessionId: string ; size: number ; type: FileType }>

}


# decryptMessage

decryptMessage(encryptedMessage): Promise<string>

Decrypts an encrypted message string into the corresponding clear-text string.

# Parameters

Name Type
encryptedMessage string

# Returns

Promise<string>


# encryptFile

encryptFile<T>(clearFile, filename, opts?): Promise<T>

Encrypts a file

# Type parameters

Name Type
T extends string | Buffer | Readable | Blob | ReadableStream<any>

# Parameters

Name Type Description
clearFile T
filename string
opts? Object
opts.fileSize? number Optional. Needed when using stream

# Returns

Promise<T>


# encryptMessage

encryptMessage(clearString): Promise<string>

Encrypts a clear-text string into an encrypted message, for the recipients of this session.

# Parameters

Name Type
clearString string

# Returns

Promise<string>


# revoke

revoke(): Promise<RevokeResult>

Entirely revoke this session. You can only do it if you are this session's administrator.

# Returns

Promise<RevokeResult>


# revokeRecipients

revokeRecipients(recipients, opts?): Promise<RevokeResult>

Revoke recipients from this session. You can only do it if you added these recipients yourself, or if you are this session's administrator.

# Parameters

Name Type Description
recipients Recipients
opts? Object -
opts.allowUnregisteredUsers? boolean Optional. Whether or not to allow non-seald, unregistered recipients. Defaults to false.

# Returns

Promise<RevokeResult>


# serialize

serialize(): string

Serialize session to a string. This is for advanced use. May be used to keep sessions in a cache. WARNING: a user could use this cache to work around being revoked. Use with caution. WARNING: if the cache is accessible to another user, they could use it to decrypt messages they are not supposed to have access to. Make sure only the current user in question can access this cache, for example by encrypting it.

# Returns

string