UNPKG

ts-mls

Version:

[![CI](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml/badge.svg)](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [![npm version](https://badge.fury.io/js/ts-mls.svg)](https://badge.fury.io/js/ts-mls) [![Coverage Status](https://co

37 lines (36 loc) 2.35 kB
import { AuthenticatedContent } from "./authenticatedContent.js"; import { CiphersuiteImpl } from "./crypto/ciphersuite.js"; import { GroupContext } from "./groupContext.js"; import { Proposal } from "./proposal.js"; import { PrivateMessage, PrivateMessageContent } from "./privateMessage.js"; import { SecretTree } from "./secretTree.js"; import { RatchetTree } from "./ratchetTree.js"; import { SenderData } from "./sender.js"; import { KeyRetentionConfig } from "./keyRetentionConfig.js"; import { MlsError } from "./mlsError.js"; import { PaddingConfig } from "./paddingConfig.js"; export interface ProtectApplicationDataResult { privateMessage: PrivateMessage; newSecretTree: SecretTree; } export declare function protectApplicationData(signKey: Uint8Array, senderDataSecret: Uint8Array, applicationData: Uint8Array, authenticatedData: Uint8Array, groupContext: GroupContext, secretTree: SecretTree, leafIndex: number, paddingConfig: PaddingConfig, cs: CiphersuiteImpl): Promise<ProtectApplicationDataResult>; export interface ProtectProposalResult { privateMessage: PrivateMessage; newSecretTree: SecretTree; proposalRef: Uint8Array; } export declare function protectProposal(signKey: Uint8Array, senderDataSecret: Uint8Array, p: Proposal, authenticatedData: Uint8Array, groupContext: GroupContext, secretTree: SecretTree, leafIndex: number, paddingConfig: PaddingConfig, cs: CiphersuiteImpl): Promise<ProtectProposalResult>; export interface ProtectResult { privateMessage: PrivateMessage; tree: SecretTree; } export declare function protect(senderDataSecret: Uint8Array, authenticatedData: Uint8Array, groupContext: GroupContext, secretTree: SecretTree, content: PrivateMessageContent, leafIndex: number, config: PaddingConfig, cs: CiphersuiteImpl): Promise<{ privateMessage: PrivateMessage; tree: SecretTree; }>; export interface UnprotectResult { content: AuthenticatedContent; tree: SecretTree; } export declare function unprotectPrivateMessage(senderDataSecret: Uint8Array, msg: PrivateMessage, secretTree: SecretTree, ratchetTree: RatchetTree, groupContext: GroupContext, config: KeyRetentionConfig, cs: CiphersuiteImpl, overrideSignatureKey?: Uint8Array): Promise<UnprotectResult>; export declare function validateSenderData(senderData: SenderData, tree: RatchetTree): MlsError | undefined;