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

42 lines (41 loc) 2.44 kB
import { AuthenticatedContent } from "./authenticatedContent.js"; import { Decoder } from "./codec/tlsDecoder.js"; import { Encoder } from "./codec/tlsEncoder.js"; import { ContentTypeName } from "./contentType.js"; import { CiphersuiteImpl } from "./crypto/ciphersuite.js"; import { FramedContentApplicationData, FramedContentAuthDataApplicationOrProposal, FramedContentAuthDataCommit, FramedContentCommitData, FramedContentProposalData } from "./framedContent.js"; import { PaddingConfig } from "./paddingConfig.js"; import { SenderData, SenderDataAAD } from "./sender.js"; export interface PrivateMessage { groupId: Uint8Array; epoch: bigint; contentType: ContentTypeName; authenticatedData: Uint8Array; encryptedSenderData: Uint8Array; ciphertext: Uint8Array; } export declare const encodePrivateMessage: Encoder<PrivateMessage>; export declare const decodePrivateMessage: Decoder<PrivateMessage>; export interface PrivateContentAAD { groupId: Uint8Array; epoch: bigint; contentType: ContentTypeName; authenticatedData: Uint8Array; } export declare const encodePrivateContentAAD: Encoder<PrivateContentAAD>; export declare const decodePrivateContentAAD: Decoder<PrivateContentAAD>; export type PrivateMessageContent = PrivateMessageContentApplication | PrivateMessageContentProposal | PrivateMessageContentCommit; export type PrivateMessageContentApplication = FramedContentApplicationData & { auth: FramedContentAuthDataApplicationOrProposal; }; export type PrivateMessageContentProposal = FramedContentProposalData & { auth: FramedContentAuthDataApplicationOrProposal; }; export type PrivateMessageContentCommit = FramedContentCommitData & { auth: FramedContentAuthDataCommit; }; export declare function decodePrivateMessageContent(contentType: ContentTypeName): Decoder<PrivateMessageContent>; export declare function encodePrivateMessageContent(config: PaddingConfig): Encoder<PrivateMessageContent>; export declare function decryptSenderData(msg: PrivateMessage, senderDataSecret: Uint8Array, cs: CiphersuiteImpl): Promise<SenderData | undefined>; export declare function encryptSenderData(senderDataSecret: Uint8Array, senderData: SenderData, aad: SenderDataAAD, ciphertext: Uint8Array, cs: CiphersuiteImpl): Promise<Uint8Array>; export declare function toAuthenticatedContent(content: PrivateMessageContent, msg: PrivateMessage, senderLeafIndex: number): AuthenticatedContent;