ts-mls
Version:
[](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [](https://badge.fury.io/js/ts-mls) [ • 2.35 kB
TypeScript
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;