ts-mls
Version:
[](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [](https://badge.fury.io/js/ts-mls) [ • 1.48 kB
TypeScript
import { Decoder } from "./codec/tlsDecoder.js";
import { Encoder } from "./codec/tlsEncoder.js";
import { CiphersuiteImpl } from "./crypto/ciphersuite.js";
import { Kdf } from "./crypto/kdf.js";
import { Signature } from "./crypto/signature.js";
import { Extension } from "./extension.js";
import { GroupContext } from "./groupContext.js";
import { RatchetTree } from "./ratchetTree.js";
export interface GroupInfoTBS {
groupContext: GroupContext;
extensions: Extension[];
confirmationTag: Uint8Array;
signer: number;
}
export declare const encodeGroupInfoTBS: Encoder<GroupInfoTBS>;
export declare const decodeGroupInfoTBS: Decoder<GroupInfoTBS>;
export type GroupInfo = GroupInfoTBS & {
signature: Uint8Array;
};
export declare const encodeGroupInfo: Encoder<GroupInfo>;
export declare const decodeGroupInfo: Decoder<GroupInfo>;
export declare function ratchetTreeFromExtension(info: GroupInfo): RatchetTree | undefined;
export declare function signGroupInfo(tbs: GroupInfoTBS, privateKey: Uint8Array, s: Signature): Promise<GroupInfo>;
export declare function verifyGroupInfoSignature(gi: GroupInfo, publicKey: Uint8Array, s: Signature): Promise<boolean>;
export declare function verifyGroupInfoConfirmationTag(gi: GroupInfo, joinerSecret: Uint8Array, pskSecret: Uint8Array, cs: CiphersuiteImpl): Promise<boolean>;
export declare function extractWelcomeSecret(joinerSecret: Uint8Array, pskSecret: Uint8Array, kdf: Kdf): Promise<Uint8Array<ArrayBufferLike>>;