Skip to content

Interface: AnonymousEncryptionSession ​

Properties ​

_sessionSymKey ​

_sessionSymKey: SymKey

Instance of the symKey for this EncryptionSession instance. For internal use only. Do not use directly.


sessionId ​

sessionId: string

The sessionId for this EncryptionSession instance.

Methods ​

decryptFile() ​

decryptFile<T>(encryptedFile: T, opts?: { fileSize?: number; progressCallback?: (progress: number) => void; raw?: boolean; signal?: AbortSignal; }): Promise<{ data: T; filename?: string; sessionId?: string; size?: number; type: FileType; }>

Decrypts an encrypted file

sessionId, filename and size are not returned when decrypting with the raw option.

Type Parameters ​

T ​

T extends string | Blob | ReadableStream<any> | Readable | Buffer<ArrayBufferLike>

Parameters ​

encryptedFile ​

T

opts? ​
fileSize? ​

number

Optional. Size of the file to decrypt. Needed when using progressCallback with a ReadableStream or NodeReadable as input type.

progressCallback? ​

(progress: number) => void

Optional. Progress callback. The progress is given between 0 and 1. Need fileSize argument set to work with a ReadableStream or NodeReadable as input type.

raw? ​

boolean

Optional. Whether or not the message was encrypted raw. Defaults to false.

signal? ​

AbortSignal

Optional. An AbortSignal to cancel the decryption.

Returns ​

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


decryptMessage() ​

decryptMessage(encryptedMessage: string, options?: { raw?: boolean; }): Promise<string>

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

Parameters ​

encryptedMessage ​

string

options? ​
raw? ​

boolean

Optional. Whether or not the message was encrypted raw. Defaults to false.

Returns ​

Promise<string>


encryptFile() ​

encryptFile<T>(clearFile: T, opts?: { filename?: string; fileSize?: number; progressCallback?: (progress: number) => void; raw?: boolean; signal?: AbortSignal; }): Promise<T>

Encrypts a file

Type Parameters ​

T ​

T extends string | Blob | ReadableStream<any> | Readable | Buffer<ArrayBufferLike>

Parameters ​

clearFile ​

T

opts? ​
filename? ​

string

Needed when not encrypting raw

fileSize? ​

number

Optional. Needed when using stream with raw option set to false.

progressCallback? ​

(progress: number) => void

Optional. Progress callback. The progress is given between 0 and 1. Need fileSize argument set to work with a ReadableStream or NodeReadable as input type.

raw? ​

boolean

Optional. Whether to include or not the sessionID in the encrypted string. If set to true, the encrypted string cannot be used to retrieve the encryption session. Defaults to false.

signal? ​

AbortSignal

Optional. An AbortSignal to cancel the encryption.

Returns ​

Promise<T>


encryptMessage() ​

encryptMessage(clearString: string, options?: { raw?: boolean; }): Promise<string>

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

Parameters ​

clearString ​

string

options? ​
raw? ​

boolean

Optional. Whether to include or not the sessionID in the encrypted string. If set to true, the encrypted string cannot be used to retrieve the encryption session. Defaults to false.

Returns ​

Promise<string>


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