ts-mls
Version:
[](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [](https://badge.fury.io/js/ts-mls) [ • 2.31 kB
TypeScript
import { AuthenticatedContent } from "./authenticatedContent";
import { CiphersuiteImpl } from "./crypto/ciphersuite";
import { GroupContext } from "./groupContext";
import { Proposal } from "./proposal";
import { PrivateMessage, PrivateMessageContent } from "./privateMessage";
import { SecretTree } from "./secretTree";
import { RatchetTree } from "./ratchetTree";
import { SenderData } from "./sender";
import { KeyRetentionConfig } from "./keyRetentionConfig";
import { MlsError } from "./mlsError";
import { PaddingConfig } from "./paddingConfig";
export type 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 type 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 type 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 type 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;