ts-mls 1.5.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -4
- package/dist/src/authenticationService.d.ts +2 -0
- package/dist/src/authenticationService.js +1 -0
- package/dist/src/authenticationService.js.map +1 -1
- package/dist/src/capabilities.d.ts +1 -0
- package/dist/src/capabilities.js.map +1 -1
- package/dist/src/clientConfig.d.ts +1 -0
- package/dist/src/clientConfig.js.map +1 -1
- package/dist/src/clientState.d.ts +12 -1
- package/dist/src/clientState.js +76 -7
- package/dist/src/clientState.js.map +1 -1
- package/dist/src/codec/tlsDecoder.d.ts +1 -0
- package/dist/src/codec/tlsDecoder.js.map +1 -1
- package/dist/src/codec/tlsEncoder.d.ts +1 -0
- package/dist/src/codec/tlsEncoder.js.map +1 -1
- package/dist/src/commit.d.ts +1 -0
- package/dist/src/commit.js.map +1 -1
- package/dist/src/contentType.d.ts +3 -2
- package/dist/src/contentType.js +2 -1
- package/dist/src/contentType.js.map +1 -1
- package/dist/src/createCommit.d.ts +10 -1
- package/dist/src/createCommit.js +25 -8
- package/dist/src/createCommit.js.map +1 -1
- package/dist/src/createMessage.d.ts +4 -0
- package/dist/src/createMessage.js +9 -1
- package/dist/src/createMessage.js.map +1 -1
- package/dist/src/credential.d.ts +4 -0
- package/dist/src/credential.js.map +1 -1
- package/dist/src/credentialType.d.ts +3 -2
- package/dist/src/credentialType.js +2 -1
- package/dist/src/credentialType.js.map +1 -1
- package/dist/src/crypto/aead.d.ts +1 -0
- package/dist/src/crypto/ciphersuite.d.ts +5 -0
- package/dist/src/crypto/ciphersuite.js +2 -0
- package/dist/src/crypto/ciphersuite.js.map +1 -1
- package/dist/src/crypto/getCiphersuiteImpl.d.ts +1 -0
- package/dist/src/crypto/getCiphersuiteImpl.js +1 -0
- package/dist/src/crypto/getCiphersuiteImpl.js.map +1 -1
- package/dist/src/crypto/hash.d.ts +2 -0
- package/dist/src/crypto/hash.js.map +1 -1
- package/dist/src/crypto/hpke.d.ts +4 -0
- package/dist/src/crypto/hpke.js.map +1 -1
- package/dist/src/crypto/implementation/default/provider.d.ts +1 -0
- package/dist/src/crypto/implementation/default/provider.js +1 -0
- package/dist/src/crypto/implementation/default/provider.js.map +1 -1
- package/dist/src/crypto/implementation/noble/provider.d.ts +1 -0
- package/dist/src/crypto/implementation/noble/provider.js +1 -0
- package/dist/src/crypto/implementation/noble/provider.js.map +1 -1
- package/dist/src/crypto/kdf.d.ts +2 -0
- package/dist/src/crypto/kdf.js.map +1 -1
- package/dist/src/crypto/kem.d.ts +1 -0
- package/dist/src/crypto/provider.d.ts +1 -0
- package/dist/src/crypto/rng.d.ts +1 -0
- package/dist/src/crypto/signature.d.ts +2 -0
- package/dist/src/crypto/signature.js.map +1 -1
- package/dist/src/defaultCapabilities.d.ts +1 -0
- package/dist/src/defaultCapabilities.js +1 -0
- package/dist/src/defaultCapabilities.js.map +1 -1
- package/dist/src/defaultExtensionType.d.ts +2 -0
- package/dist/src/defaultExtensionType.js +1 -0
- package/dist/src/defaultExtensionType.js.map +1 -1
- package/dist/src/defaultProposalType.d.ts +2 -0
- package/dist/src/defaultProposalType.js +1 -0
- package/dist/src/defaultProposalType.js.map +1 -1
- package/dist/src/epochReceiverData.d.ts +2 -0
- package/dist/src/epochReceiverData.js.map +1 -1
- package/dist/src/extension.d.ts +2 -0
- package/dist/src/extension.js.map +1 -1
- package/dist/src/externalProposal.d.ts +2 -0
- package/dist/src/externalProposal.js +2 -0
- package/dist/src/externalProposal.js.map +1 -1
- package/dist/src/externalSender.d.ts +3 -0
- package/dist/src/externalSender.js +2 -0
- package/dist/src/externalSender.js.map +1 -1
- package/dist/src/framedContent.d.ts +13 -2
- package/dist/src/framedContent.js.map +1 -1
- package/dist/src/groupActiveState.d.ts +1 -0
- package/dist/src/groupActiveState.js.map +1 -1
- package/dist/src/groupContext.d.ts +1 -0
- package/dist/src/groupContext.js.map +1 -1
- package/dist/src/groupInfo.d.ts +2 -0
- package/dist/src/groupInfo.js.map +1 -1
- package/dist/src/hpkeCiphertext.d.ts +1 -0
- package/dist/src/hpkeCiphertext.js.map +1 -1
- package/dist/src/incomingMessageAction.d.ts +5 -0
- package/dist/src/incomingMessageAction.js +1 -0
- package/dist/src/incomingMessageAction.js.map +1 -1
- package/dist/src/index.d.ts +61 -1
- package/dist/src/index.js +6 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/keyPackage.d.ts +6 -2
- package/dist/src/keyPackage.js +2 -0
- package/dist/src/keyPackage.js.map +1 -1
- package/dist/src/keyPackageEqualityConfig.d.ts +2 -0
- package/dist/src/keyPackageEqualityConfig.js +1 -0
- package/dist/src/keyPackageEqualityConfig.js.map +1 -1
- package/dist/src/keyRetentionConfig.d.ts +2 -0
- package/dist/src/keyRetentionConfig.js +1 -0
- package/dist/src/keyRetentionConfig.js.map +1 -1
- package/dist/src/keySchedule.d.ts +5 -4
- package/dist/src/keySchedule.js +10 -11
- package/dist/src/keySchedule.js.map +1 -1
- package/dist/src/leafNode.d.ts +9 -5
- package/dist/src/leafNode.js.map +1 -1
- package/dist/src/lifetime.d.ts +2 -0
- package/dist/src/lifetime.js +1 -0
- package/dist/src/lifetime.js.map +1 -1
- package/dist/src/lifetimeConfig.d.ts +2 -0
- package/dist/src/lifetimeConfig.js +1 -0
- package/dist/src/lifetimeConfig.js.map +1 -1
- package/dist/src/message.d.ts +10 -0
- package/dist/src/message.js +2 -0
- package/dist/src/message.js.map +1 -1
- package/dist/src/messageProtection.d.ts +5 -4
- package/dist/src/messageProtection.js +8 -7
- package/dist/src/messageProtection.js.map +1 -1
- package/dist/src/paddingConfig.d.ts +2 -0
- package/dist/src/paddingConfig.js +1 -0
- package/dist/src/paddingConfig.js.map +1 -1
- package/dist/src/parentNode.d.ts +1 -0
- package/dist/src/parentNode.js.map +1 -1
- package/dist/src/presharedkey.d.ts +9 -2
- package/dist/src/presharedkey.js +2 -1
- package/dist/src/presharedkey.js.map +1 -1
- package/dist/src/privateKeyPath.d.ts +1 -0
- package/dist/src/privateKeyPath.js.map +1 -1
- package/dist/src/privateMessage.d.ts +1 -0
- package/dist/src/privateMessage.js.map +1 -1
- package/dist/src/processMessages.d.ts +9 -0
- package/dist/src/processMessages.js +33 -7
- package/dist/src/processMessages.js.map +1 -1
- package/dist/src/proposal.d.ts +16 -0
- package/dist/src/proposal.js.map +1 -1
- package/dist/src/proposalOrRefType.d.ts +3 -0
- package/dist/src/proposalOrRefType.js.map +1 -1
- package/dist/src/protocolVersion.d.ts +2 -0
- package/dist/src/protocolVersion.js +1 -0
- package/dist/src/protocolVersion.js.map +1 -1
- package/dist/src/pskIndex.d.ts +2 -0
- package/dist/src/pskIndex.js +1 -0
- package/dist/src/pskIndex.js.map +1 -1
- package/dist/src/publicMessage.d.ts +7 -4
- package/dist/src/publicMessage.js.map +1 -1
- package/dist/src/ratchetTree.d.ts +6 -3
- package/dist/src/ratchetTree.js.map +1 -1
- package/dist/src/requiredCapabilities.d.ts +3 -0
- package/dist/src/requiredCapabilities.js +2 -0
- package/dist/src/requiredCapabilities.js.map +1 -1
- package/dist/src/resumption.d.ts +5 -0
- package/dist/src/resumption.js +5 -0
- package/dist/src/resumption.js.map +1 -1
- package/dist/src/secretTree.d.ts +6 -1
- package/dist/src/secretTree.js +50 -19
- package/dist/src/secretTree.js.map +1 -1
- package/dist/src/sender.d.ts +9 -2
- package/dist/src/sender.js +2 -1
- package/dist/src/sender.js.map +1 -1
- package/dist/src/treemath.d.ts +4 -0
- package/dist/src/treemath.js +2 -0
- package/dist/src/treemath.js.map +1 -1
- package/dist/src/unappliedProposals.d.ts +2 -0
- package/dist/src/unappliedProposals.js.map +1 -1
- package/dist/src/updatePath.d.ts +2 -0
- package/dist/src/updatePath.js.map +1 -1
- package/dist/src/util/brand.d.ts +1 -0
- package/dist/src/util/byteArray.d.ts +3 -0
- package/dist/src/util/byteArray.js +8 -0
- package/dist/src/util/byteArray.js.map +1 -1
- package/dist/src/welcome.d.ts +2 -0
- package/dist/src/welcome.js.map +1 -1
- package/package.json +9 -5
- package/dist/src/util/repeat.d.ts +0 -1
- package/dist/src/util/repeat.js +0 -8
- package/dist/src/util/repeat.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyRetentionConfig.js","sourceRoot":"","sources":["../../src/keyRetentionConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"keyRetentionConfig.js","sourceRoot":"","sources":["../../src/keyRetentionConfig.ts"],"names":[],"mappings":"AAOA,cAAc;AACd,MAAM,CAAC,MAAM,yBAAyB,GAAuB;IAC3D,wBAAwB,EAAE,EAAE;IAC5B,mBAAmB,EAAE,CAAC;IACtB,0BAA0B,EAAE,GAAG;CAChC,CAAA"}
|
|
@@ -3,10 +3,9 @@ import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
|
3
3
|
import { CiphersuiteImpl } from "./crypto/ciphersuite.js";
|
|
4
4
|
import { Kdf } from "./crypto/kdf.js";
|
|
5
5
|
import { GroupContext } from "./groupContext.js";
|
|
6
|
+
/** @public */
|
|
6
7
|
export interface KeySchedule {
|
|
7
|
-
epochSecret: Uint8Array;
|
|
8
8
|
senderDataSecret: Uint8Array;
|
|
9
|
-
encryptionSecret: Uint8Array;
|
|
10
9
|
exporterSecret: Uint8Array;
|
|
11
10
|
externalSecret: Uint8Array;
|
|
12
11
|
confirmationKey: Uint8Array;
|
|
@@ -22,8 +21,10 @@ export interface EpochSecrets {
|
|
|
22
21
|
keySchedule: KeySchedule;
|
|
23
22
|
joinerSecret: Uint8Array;
|
|
24
23
|
welcomeSecret: Uint8Array;
|
|
24
|
+
encryptionSecret: Uint8Array;
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
export declare function
|
|
26
|
+
/** @public */
|
|
27
|
+
export declare function mlsExporter(exporterSecret: Uint8Array, label: string, context: Uint8Array, length: number, cs: CiphersuiteImpl): Promise<Uint8Array>;
|
|
28
|
+
export declare function deriveKeySchedule(joinerSecret: Uint8Array, pskSecret: Uint8Array, groupContext: GroupContext, kdf: Kdf): Promise<[KeySchedule, Uint8Array]>;
|
|
28
29
|
export declare function initializeKeySchedule(epochSecret: Uint8Array, kdf: Kdf): Promise<KeySchedule>;
|
|
29
30
|
export declare function initializeEpoch(initSecret: Uint8Array, commitSecret: Uint8Array, groupContext: GroupContext, pskSecret: Uint8Array, kdf: Kdf): Promise<EpochSecrets>;
|
package/dist/src/keySchedule.js
CHANGED
|
@@ -4,6 +4,7 @@ import { decodeVarLenData, varLenDataEncoder } from "./codec/variableLength.js";
|
|
|
4
4
|
import { deriveSecret, expandWithLabel } from "./crypto/kdf.js";
|
|
5
5
|
import { extractEpochSecret, extractJoinerSecret } from "./groupContext.js";
|
|
6
6
|
import { extractWelcomeSecret } from "./groupInfo.js";
|
|
7
|
+
//TODO remove 2 arrays here once we break compatability
|
|
7
8
|
export const keyScheduleEncoder = contramapBufferEncoders([
|
|
8
9
|
varLenDataEncoder,
|
|
9
10
|
varLenDataEncoder,
|
|
@@ -16,9 +17,9 @@ export const keyScheduleEncoder = contramapBufferEncoders([
|
|
|
16
17
|
varLenDataEncoder,
|
|
17
18
|
varLenDataEncoder,
|
|
18
19
|
], (ks) => [
|
|
19
|
-
|
|
20
|
+
new Uint8Array(),
|
|
20
21
|
ks.senderDataSecret,
|
|
21
|
-
|
|
22
|
+
new Uint8Array(),
|
|
22
23
|
ks.exporterSecret,
|
|
23
24
|
ks.externalSecret,
|
|
24
25
|
ks.confirmationKey,
|
|
@@ -39,10 +40,8 @@ export const decodeKeySchedule = mapDecoders([
|
|
|
39
40
|
decodeVarLenData,
|
|
40
41
|
decodeVarLenData,
|
|
41
42
|
decodeVarLenData,
|
|
42
|
-
], (
|
|
43
|
-
epochSecret,
|
|
43
|
+
], (_epochSecret, senderDataSecret, _encryptionSecret, exporterSecret, externalSecret, confirmationKey, membershipKey, resumptionPsk, epochAuthenticator, initSecret) => ({
|
|
44
44
|
senderDataSecret,
|
|
45
|
-
encryptionSecret,
|
|
46
45
|
exporterSecret,
|
|
47
46
|
externalSecret,
|
|
48
47
|
confirmationKey,
|
|
@@ -51,6 +50,7 @@ export const decodeKeySchedule = mapDecoders([
|
|
|
51
50
|
epochAuthenticator,
|
|
52
51
|
initSecret,
|
|
53
52
|
}));
|
|
53
|
+
/** @public */
|
|
54
54
|
export async function mlsExporter(exporterSecret, label, context, length, cs) {
|
|
55
55
|
const secret = await deriveSecret(exporterSecret, label, cs.kdf);
|
|
56
56
|
const hash = await cs.hash.digest(context);
|
|
@@ -58,12 +58,13 @@ export async function mlsExporter(exporterSecret, label, context, length, cs) {
|
|
|
58
58
|
}
|
|
59
59
|
export async function deriveKeySchedule(joinerSecret, pskSecret, groupContext, kdf) {
|
|
60
60
|
const epochSecret = await extractEpochSecret(groupContext, joinerSecret, kdf, pskSecret);
|
|
61
|
-
|
|
61
|
+
const encryptionSecret = await deriveSecret(epochSecret, "encryption", kdf);
|
|
62
|
+
const keySchedule = await initializeKeySchedule(epochSecret, kdf);
|
|
63
|
+
return [keySchedule, encryptionSecret];
|
|
62
64
|
}
|
|
63
65
|
export async function initializeKeySchedule(epochSecret, kdf) {
|
|
64
66
|
const newInitSecret = await deriveSecret(epochSecret, "init", kdf);
|
|
65
67
|
const senderDataSecret = await deriveSecret(epochSecret, "sender data", kdf);
|
|
66
|
-
const encryptionSecret = await deriveSecret(epochSecret, "encryption", kdf);
|
|
67
68
|
const exporterSecret = await deriveSecret(epochSecret, "exporter", kdf);
|
|
68
69
|
const externalSecret = await deriveSecret(epochSecret, "external", kdf);
|
|
69
70
|
const confirmationKey = await deriveSecret(epochSecret, "confirm", kdf);
|
|
@@ -71,10 +72,8 @@ export async function initializeKeySchedule(epochSecret, kdf) {
|
|
|
71
72
|
const resumptionPsk = await deriveSecret(epochSecret, "resumption", kdf);
|
|
72
73
|
const epochAuthenticator = await deriveSecret(epochSecret, "authentication", kdf);
|
|
73
74
|
const newKeySchedule = {
|
|
74
|
-
epochSecret: epochSecret,
|
|
75
75
|
initSecret: newInitSecret,
|
|
76
76
|
senderDataSecret,
|
|
77
|
-
encryptionSecret,
|
|
78
77
|
exporterSecret,
|
|
79
78
|
externalSecret,
|
|
80
79
|
confirmationKey,
|
|
@@ -87,7 +86,7 @@ export async function initializeKeySchedule(epochSecret, kdf) {
|
|
|
87
86
|
export async function initializeEpoch(initSecret, commitSecret, groupContext, pskSecret, kdf) {
|
|
88
87
|
const joinerSecret = await extractJoinerSecret(groupContext, initSecret, commitSecret, kdf);
|
|
89
88
|
const welcomeSecret = await extractWelcomeSecret(joinerSecret, pskSecret, kdf);
|
|
90
|
-
const newKeySchedule = await deriveKeySchedule(joinerSecret, pskSecret, groupContext, kdf);
|
|
91
|
-
return { welcomeSecret, joinerSecret, keySchedule: newKeySchedule };
|
|
89
|
+
const [newKeySchedule, encryptionSecret] = await deriveKeySchedule(joinerSecret, pskSecret, groupContext, kdf);
|
|
90
|
+
return { welcomeSecret, joinerSecret, encryptionSecret, keySchedule: newKeySchedule };
|
|
92
91
|
}
|
|
93
92
|
//# sourceMappingURL=keySchedule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keySchedule.js","sourceRoot":"","sources":["../../src/keySchedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAiB,uBAAuB,EAAE,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE/E,OAAO,EAAE,YAAY,EAAE,eAAe,EAAO,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAgB,MAAM,mBAAmB,CAAA;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"keySchedule.js","sourceRoot":"","sources":["../../src/keySchedule.ts"],"names":[],"mappings":"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"}
|
package/dist/src/leafNode.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { Credential } from "./credential.js";
|
|
|
5
5
|
import { Signature } from "./crypto/signature.js";
|
|
6
6
|
import { Extension } from "./extension.js";
|
|
7
7
|
import { Lifetime } from "./lifetime.js";
|
|
8
|
+
/** @public */
|
|
8
9
|
export interface LeafNodeData {
|
|
9
10
|
hpkePublicKey: Uint8Array;
|
|
10
11
|
signaturePublicKey: Uint8Array;
|
|
@@ -14,16 +15,20 @@ export interface LeafNodeData {
|
|
|
14
15
|
export declare const leafNodeDataEncoder: BufferEncoder<LeafNodeData>;
|
|
15
16
|
export declare const encodeLeafNodeData: Encoder<LeafNodeData>;
|
|
16
17
|
export declare const decodeLeafNodeData: Decoder<LeafNodeData>;
|
|
18
|
+
/** @public */
|
|
17
19
|
export type LeafNodeInfoOmitted = LeafNodeInfoKeyPackage | LeafNodeInfoUpdateOmitted | LeafNodeInfoCommitOmitted;
|
|
20
|
+
/** @public */
|
|
18
21
|
export interface LeafNodeInfoUpdateOmitted {
|
|
19
22
|
leafNodeSource: "update";
|
|
20
23
|
extensions: Extension[];
|
|
21
24
|
}
|
|
25
|
+
/** @public */
|
|
22
26
|
export interface LeafNodeInfoCommitOmitted {
|
|
23
27
|
leafNodeSource: "commit";
|
|
24
28
|
parentHash: Uint8Array;
|
|
25
29
|
extensions: Extension[];
|
|
26
30
|
}
|
|
31
|
+
/** @public */
|
|
27
32
|
export interface LeafNodeInfoKeyPackage {
|
|
28
33
|
leafNodeSource: "key_package";
|
|
29
34
|
lifetime: Lifetime;
|
|
@@ -42,11 +47,6 @@ export declare const decodeLeafNodeInfoUpdateOmitted: Decoder<LeafNodeInfoUpdate
|
|
|
42
47
|
export declare const decodeLeafNodeInfoCommitOmitted: Decoder<LeafNodeInfoCommitOmitted>;
|
|
43
48
|
export declare const decodeLeafNodeInfoOmitted: Decoder<LeafNodeInfoOmitted>;
|
|
44
49
|
export type LeafNodeInfo = LeafNodeInfoKeyPackage | LeafNodeInfoUpdate | LeafNodeInfoCommit;
|
|
45
|
-
export interface LeafNodeInfoKeyPackage {
|
|
46
|
-
leafNodeSource: "key_package";
|
|
47
|
-
lifetime: Lifetime;
|
|
48
|
-
extensions: Extension[];
|
|
49
|
-
}
|
|
50
50
|
export type LeafNodeInfoUpdate = LeafNodeInfoUpdateOmitted & {
|
|
51
51
|
groupId: Uint8Array;
|
|
52
52
|
leafIndex: number;
|
|
@@ -69,20 +69,24 @@ export type LeafNodeTBSCommit = LeafNodeData & LeafNodeInfoCommit;
|
|
|
69
69
|
export type LeafNodeTBSKeyPackage = LeafNodeData & LeafNodeInfoKeyPackage;
|
|
70
70
|
export declare const leafNodeTBSEncoder: BufferEncoder<LeafNodeTBS>;
|
|
71
71
|
export declare const encodeLeafNodeTBS: Encoder<LeafNodeTBS>;
|
|
72
|
+
/** @public */
|
|
72
73
|
export type LeafNode = LeafNodeData & LeafNodeInfoOmitted & {
|
|
73
74
|
signature: Uint8Array;
|
|
74
75
|
};
|
|
75
76
|
export declare const leafNodeEncoder: BufferEncoder<LeafNode>;
|
|
76
77
|
export declare const encodeLeafNode: Encoder<LeafNode>;
|
|
77
78
|
export declare const decodeLeafNode: Decoder<LeafNode>;
|
|
79
|
+
/** @public */
|
|
78
80
|
export type LeafNodeKeyPackage = LeafNode & {
|
|
79
81
|
leafNodeSource: "key_package";
|
|
80
82
|
};
|
|
81
83
|
export declare const decodeLeafNodeKeyPackage: Decoder<LeafNodeKeyPackage>;
|
|
84
|
+
/** @public */
|
|
82
85
|
export type LeafNodeCommit = LeafNode & {
|
|
83
86
|
leafNodeSource: "commit";
|
|
84
87
|
};
|
|
85
88
|
export declare const decodeLeafNodeCommit: Decoder<LeafNodeCommit>;
|
|
89
|
+
/** @public */
|
|
86
90
|
export type LeafNodeUpdate = LeafNode & {
|
|
87
91
|
leafNodeSource: "update";
|
|
88
92
|
};
|
package/dist/src/leafNode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"leafNode.js","sourceRoot":"","sources":["../../src/leafNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAW,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC1G,OAAO,EAAiB,uBAAuB,EAAE,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACpH,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAc,MAAM,iBAAiB,CAAA;AACjF,OAAO,EAAa,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAa,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC7E,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAY,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"leafNode.js","sourceRoot":"","sources":["../../src/leafNode.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lifetime.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
2
2
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
3
|
+
/** @public */
|
|
3
4
|
export interface Lifetime {
|
|
4
5
|
notBefore: bigint;
|
|
5
6
|
notAfter: bigint;
|
|
@@ -7,4 +8,5 @@ export interface Lifetime {
|
|
|
7
8
|
export declare const lifetimeEncoder: BufferEncoder<Lifetime>;
|
|
8
9
|
export declare const encodeLifetime: Encoder<Lifetime>;
|
|
9
10
|
export declare const decodeLifetime: Decoder<Lifetime>;
|
|
11
|
+
/** @public */
|
|
10
12
|
export declare const defaultLifetime: Lifetime;
|
package/dist/src/lifetime.js
CHANGED
package/dist/src/lifetime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifetime.js","sourceRoot":"","sources":["../../src/lifetime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAiB,uBAAuB,EAAE,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAW,WAAW,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"lifetime.js","sourceRoot":"","sources":["../../src/lifetime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAiB,uBAAuB,EAAE,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAW,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAQ5D,MAAM,CAAC,MAAM,eAAe,GAA4B,uBAAuB,CAC7E,CAAC,aAAa,EAAE,aAAa,CAAC,EAC9B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAU,CAC7C,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAsB,MAAM,CAAC,eAAe,CAAC,CAAA;AAExE,MAAM,CAAC,MAAM,cAAc,GAAsB,WAAW,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IACnH,SAAS;IACT,QAAQ;CACT,CAAC,CAAC,CAAA;AAEH,cAAc;AACd,MAAM,CAAC,MAAM,eAAe,GAAa;IACvC,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,oBAAoB;CAC/B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifetimeConfig.js","sourceRoot":"","sources":["../../src/lifetimeConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lifetimeConfig.js","sourceRoot":"","sources":["../../src/lifetimeConfig.ts"],"names":[],"mappings":"AAMA,cAAc;AACd,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,oBAAoB,EAAE,QAAQ,EAAE,UAAU;IAC1C,yBAAyB,EAAE,KAAK;CACjC,CAAA"}
|
package/dist/src/message.d.ts
CHANGED
|
@@ -6,30 +6,38 @@ import { PrivateMessage } from "./privateMessage.js";
|
|
|
6
6
|
import { ProtocolVersionName } from "./protocolVersion.js";
|
|
7
7
|
import { PublicMessage } from "./publicMessage.js";
|
|
8
8
|
import { Welcome } from "./welcome.js";
|
|
9
|
+
/** @public */
|
|
9
10
|
export interface MlsMessageProtocol {
|
|
10
11
|
version: ProtocolVersionName;
|
|
11
12
|
}
|
|
13
|
+
/** @public */
|
|
12
14
|
export interface MlsWelcome {
|
|
13
15
|
wireformat: "mls_welcome";
|
|
14
16
|
welcome: Welcome;
|
|
15
17
|
}
|
|
18
|
+
/** @public */
|
|
16
19
|
export interface MlsPrivateMessage {
|
|
17
20
|
wireformat: "mls_private_message";
|
|
18
21
|
privateMessage: PrivateMessage;
|
|
19
22
|
}
|
|
23
|
+
/** @public */
|
|
20
24
|
export interface MlsGroupInfo {
|
|
21
25
|
wireformat: "mls_group_info";
|
|
22
26
|
groupInfo: GroupInfo;
|
|
23
27
|
}
|
|
28
|
+
/** @public */
|
|
24
29
|
export interface MlsKeyPackage {
|
|
25
30
|
wireformat: "mls_key_package";
|
|
26
31
|
keyPackage: KeyPackage;
|
|
27
32
|
}
|
|
33
|
+
/** @public */
|
|
28
34
|
export interface MlsPublicMessage {
|
|
29
35
|
wireformat: "mls_public_message";
|
|
30
36
|
publicMessage: PublicMessage;
|
|
31
37
|
}
|
|
38
|
+
/** @public */
|
|
32
39
|
export type MlsMessageContent = MlsWelcome | MlsPrivateMessage | MlsGroupInfo | MlsKeyPackage | MlsPublicMessage;
|
|
40
|
+
/** @public */
|
|
33
41
|
export type MLSMessage = MlsMessageProtocol & MlsMessageContent;
|
|
34
42
|
export declare const mlsPublicMessageEncoder: BufferEncoder<MlsPublicMessage>;
|
|
35
43
|
export declare const encodeMlsPublicMessage: Encoder<MlsPublicMessage>;
|
|
@@ -45,5 +53,7 @@ export declare const mlsMessageContentEncoder: BufferEncoder<MlsMessageContent>;
|
|
|
45
53
|
export declare const encodeMlsMessageContent: Encoder<MlsMessageContent>;
|
|
46
54
|
export declare const decodeMlsMessageContent: Decoder<MlsMessageContent>;
|
|
47
55
|
export declare const mlsMessageEncoder: BufferEncoder<MLSMessage>;
|
|
56
|
+
/** @public */
|
|
48
57
|
export declare const encodeMlsMessage: Encoder<MLSMessage>;
|
|
58
|
+
/** @public */
|
|
49
59
|
export declare const decodeMlsMessage: Decoder<MLSMessage>;
|
package/dist/src/message.js
CHANGED
|
@@ -47,6 +47,8 @@ export const decodeMlsMessageContent = flatMapDecoder(decodeWireformat, (wirefor
|
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
export const mlsMessageEncoder = contramapBufferEncoders([protocolVersionEncoder, mlsMessageContentEncoder], (w) => [w.version, w]);
|
|
50
|
+
/** @public */
|
|
50
51
|
export const encodeMlsMessage = encode(mlsMessageEncoder);
|
|
52
|
+
/** @public */
|
|
51
53
|
export const decodeMlsMessage = mapDecoders([decodeProtocolVersion, decodeMlsMessageContent], (version, mc) => ({ ...mc, version }));
|
|
52
54
|
//# sourceMappingURL=message.js.map
|
package/dist/src/message.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxF,OAAO,EAAE,uBAAuB,EAAiB,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAa,MAAM,gBAAgB,CAAA;AAC7E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAc,MAAM,iBAAiB,CAAA;AACjF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAkB,MAAM,qBAAqB,CAAA;AACjG,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAuB,MAAM,sBAAsB,CAAA;AACzG,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAiB,MAAM,oBAAoB,CAAA;AAC7F,OAAO,EAAE,aAAa,EAAW,cAAc,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,25 +12,26 @@ import { PaddingConfig } from "./paddingConfig.js";
|
|
|
12
12
|
export interface ProtectApplicationDataResult {
|
|
13
13
|
privateMessage: PrivateMessage;
|
|
14
14
|
newSecretTree: SecretTree;
|
|
15
|
+
consumed: Uint8Array[];
|
|
15
16
|
}
|
|
16
17
|
export declare function protectApplicationData(signKey: Uint8Array, senderDataSecret: Uint8Array, applicationData: Uint8Array, authenticatedData: Uint8Array, groupContext: GroupContext, secretTree: SecretTree, leafIndex: number, paddingConfig: PaddingConfig, cs: CiphersuiteImpl): Promise<ProtectApplicationDataResult>;
|
|
17
18
|
export interface ProtectProposalResult {
|
|
18
19
|
privateMessage: PrivateMessage;
|
|
19
20
|
newSecretTree: SecretTree;
|
|
20
21
|
proposalRef: Uint8Array;
|
|
22
|
+
consumed: Uint8Array[];
|
|
21
23
|
}
|
|
22
24
|
export declare function protectProposal(signKey: Uint8Array, senderDataSecret: Uint8Array, p: Proposal, authenticatedData: Uint8Array, groupContext: GroupContext, secretTree: SecretTree, leafIndex: number, paddingConfig: PaddingConfig, cs: CiphersuiteImpl): Promise<ProtectProposalResult>;
|
|
23
25
|
export interface ProtectResult {
|
|
24
26
|
privateMessage: PrivateMessage;
|
|
25
27
|
tree: SecretTree;
|
|
28
|
+
consumed: Uint8Array[];
|
|
26
29
|
}
|
|
27
|
-
export declare function protect(senderDataSecret: Uint8Array, authenticatedData: Uint8Array, groupContext: GroupContext, secretTree: SecretTree, content: PrivateMessageContent, leafIndex: number, config: PaddingConfig, cs: CiphersuiteImpl): Promise<
|
|
28
|
-
privateMessage: PrivateMessage;
|
|
29
|
-
tree: SecretTree;
|
|
30
|
-
}>;
|
|
30
|
+
export declare function protect(senderDataSecret: Uint8Array, authenticatedData: Uint8Array, groupContext: GroupContext, secretTree: SecretTree, content: PrivateMessageContent, leafIndex: number, config: PaddingConfig, cs: CiphersuiteImpl): Promise<ProtectResult>;
|
|
31
31
|
export interface UnprotectResult {
|
|
32
32
|
content: AuthenticatedContent;
|
|
33
33
|
tree: SecretTree;
|
|
34
|
+
consumed: Uint8Array[];
|
|
34
35
|
}
|
|
35
36
|
export declare function unprotectPrivateMessage(senderDataSecret: Uint8Array, msg: PrivateMessage, secretTree: SecretTree, ratchetTree: RatchetTree, groupContext: GroupContext, config: KeyRetentionConfig, cs: CiphersuiteImpl, overrideSignatureKey?: Uint8Array): Promise<UnprotectResult>;
|
|
36
37
|
export declare function validateSenderData(senderData: SenderData, tree: RatchetTree): MlsError | undefined;
|
|
@@ -30,7 +30,7 @@ export async function protectApplicationData(signKey, senderDataSecret, applicat
|
|
|
30
30
|
auth,
|
|
31
31
|
};
|
|
32
32
|
const result = await protect(senderDataSecret, authenticatedData, groupContext, secretTree, content, leafIndex, paddingConfig, cs);
|
|
33
|
-
return { newSecretTree: result.tree, privateMessage: result.privateMessage };
|
|
33
|
+
return { newSecretTree: result.tree, privateMessage: result.privateMessage, consumed: result.consumed };
|
|
34
34
|
}
|
|
35
35
|
export async function protectProposal(signKey, senderDataSecret, p, authenticatedData, groupContext, secretTree, leafIndex, paddingConfig, cs) {
|
|
36
36
|
const tbs = {
|
|
@@ -52,21 +52,21 @@ export async function protectProposal(signKey, senderDataSecret, p, authenticate
|
|
|
52
52
|
};
|
|
53
53
|
const auth = await signFramedContentApplicationOrProposal(signKey, tbs, cs);
|
|
54
54
|
const content = { ...tbs.content, auth };
|
|
55
|
-
const
|
|
56
|
-
const newSecretTree =
|
|
55
|
+
const protectResult = await protect(senderDataSecret, authenticatedData, groupContext, secretTree, content, leafIndex, paddingConfig, cs);
|
|
56
|
+
const newSecretTree = protectResult.tree;
|
|
57
57
|
const authenticatedContent = {
|
|
58
58
|
wireformat: "mls_private_message",
|
|
59
59
|
content,
|
|
60
60
|
auth,
|
|
61
61
|
};
|
|
62
62
|
const proposalRef = await makeProposalRef(authenticatedContent, cs.hash);
|
|
63
|
-
return { privateMessage:
|
|
63
|
+
return { privateMessage: protectResult.privateMessage, newSecretTree, proposalRef, consumed: protectResult.consumed };
|
|
64
64
|
}
|
|
65
65
|
export async function protect(senderDataSecret, authenticatedData, groupContext, secretTree, content, leafIndex, config, cs) {
|
|
66
66
|
const node = secretTree[leafToNodeIndex(toLeafIndex(leafIndex))];
|
|
67
67
|
if (node === undefined)
|
|
68
68
|
throw new InternalError("Bad node index for secret tree");
|
|
69
|
-
const { newTree, generation, reuseGuard, nonce, key } = await consumeRatchet(secretTree, leafToNodeIndex(toLeafIndex(leafIndex)), content.contentType, cs);
|
|
69
|
+
const { newTree, generation, reuseGuard, nonce, key, consumed } = await consumeRatchet(secretTree, leafToNodeIndex(toLeafIndex(leafIndex)), content.contentType, cs);
|
|
70
70
|
const aad = {
|
|
71
71
|
groupId: groupContext.groupId,
|
|
72
72
|
epoch: groupContext.epoch,
|
|
@@ -95,6 +95,7 @@ export async function protect(senderDataSecret, authenticatedData, groupContext,
|
|
|
95
95
|
ciphertext,
|
|
96
96
|
},
|
|
97
97
|
tree: newTree,
|
|
98
|
+
consumed,
|
|
98
99
|
};
|
|
99
100
|
}
|
|
100
101
|
export async function unprotectPrivateMessage(senderDataSecret, msg, secretTree, ratchetTree, groupContext, config, cs, overrideSignatureKey) {
|
|
@@ -102,7 +103,7 @@ export async function unprotectPrivateMessage(senderDataSecret, msg, secretTree,
|
|
|
102
103
|
if (senderData === undefined)
|
|
103
104
|
throw new CodecError("Could not decode senderdata");
|
|
104
105
|
validateSenderData(senderData, ratchetTree);
|
|
105
|
-
const { key, nonce, newTree } = await ratchetToGeneration(secretTree, senderData, msg.contentType, config, cs);
|
|
106
|
+
const { key, nonce, newTree, consumed } = await ratchetToGeneration(secretTree, senderData, msg.contentType, config, cs);
|
|
106
107
|
const aad = {
|
|
107
108
|
groupId: msg.groupId,
|
|
108
109
|
epoch: msg.epoch,
|
|
@@ -120,7 +121,7 @@ export async function unprotectPrivateMessage(senderDataSecret, msg, secretTree,
|
|
|
120
121
|
const signatureValid = await verifyFramedContentSignature(signaturePublicKey, "mls_private_message", content.content, content.auth, groupContext, cs.signature);
|
|
121
122
|
if (!signatureValid)
|
|
122
123
|
throw new CryptoVerificationError("Signature invalid");
|
|
123
|
-
return { tree: newTree, content };
|
|
124
|
+
return { tree: newTree, content, consumed };
|
|
124
125
|
}
|
|
125
126
|
export function validateSenderData(senderData, tree) {
|
|
126
127
|
if (tree[leafToNodeIndex(toLeafIndex(senderData.leafIndex))]?.nodeType !== "leaf")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageProtection.js","sourceRoot":"","sources":["../../src/messageProtection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEjF,OAAO,EAEL,sCAAsC,EACtC,4BAA4B,GAC7B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,2BAA2B,EAC3B,iBAAiB,EAEjB,wBAAwB,EAGxB,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAc,MAAM,iBAAiB,CAAA;AACjF,OAAO,EAAE,kCAAkC,EAAe,MAAM,kBAAkB,CAAA;AAElF,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE5D,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,eAAe,EAAY,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7G,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"messageProtection.js","sourceRoot":"","sources":["../../src/messageProtection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @public */
|
|
1
2
|
export type PaddingConfig = {
|
|
2
3
|
kind: "padUntilLength";
|
|
3
4
|
padUntilLength: number;
|
|
@@ -5,5 +6,6 @@ export type PaddingConfig = {
|
|
|
5
6
|
kind: "alwaysPad";
|
|
6
7
|
paddingLength: number;
|
|
7
8
|
};
|
|
9
|
+
/** @public */
|
|
8
10
|
export declare const defaultPaddingConfig: PaddingConfig;
|
|
9
11
|
export declare function byteLengthToPad(encodedLength: number, config: PaddingConfig): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paddingConfig.js","sourceRoot":"","sources":["../../src/paddingConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paddingConfig.js","sourceRoot":"","sources":["../../src/paddingConfig.ts"],"names":[],"mappings":"AAKA,cAAc;AACd,MAAM,CAAC,MAAM,oBAAoB,GAAkB,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,EAAE,CAAA;AAElG,MAAM,UAAU,eAAe,CAAC,aAAqB,EAAE,MAAqB;IAC1E,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC,aAAa,CAAA;;QACvD,OAAO,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,GAAG,aAAa,CAAA;AAChG,CAAC"}
|
package/dist/src/parentNode.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parentNode.js","sourceRoot":"","sources":["../../src/parentNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAW,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAiB,uBAAuB,EAAE,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"parentNode.js","sourceRoot":"","sources":["../../src/parentNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAW,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAiB,uBAAuB,EAAE,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AASpH,MAAM,CAAC,MAAM,iBAAiB,GAA8B,uBAAuB,CACjF,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,EACxE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAU,CAC9E,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAwB,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAE9E,MAAM,CAAC,MAAM,gBAAgB,GAAwB,WAAW,CAC9D,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC,EACpE,CAAC,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;IAC9C,aAAa;IACb,UAAU;IACV,cAAc;CACf,CAAC,CACH,CAAA"}
|
|
@@ -10,33 +10,40 @@ export type PSKType = (typeof pskTypes)[PSKTypeName];
|
|
|
10
10
|
export declare const pskTypeEncoder: BufferEncoder<PSKTypeName>;
|
|
11
11
|
export declare const encodePskType: Encoder<PSKTypeName>;
|
|
12
12
|
export declare const decodePskType: Decoder<PSKTypeName>;
|
|
13
|
-
|
|
13
|
+
/** @public */
|
|
14
|
+
export declare const resumptionPSKUsages: {
|
|
14
15
|
readonly application: 1;
|
|
15
16
|
readonly reinit: 2;
|
|
16
17
|
readonly branch: 3;
|
|
17
18
|
};
|
|
19
|
+
/** @public */
|
|
18
20
|
export type ResumptionPSKUsageName = keyof typeof resumptionPSKUsages;
|
|
19
21
|
export type ResumptionPSKUsage = (typeof resumptionPSKUsages)[ResumptionPSKUsageName];
|
|
20
22
|
export declare const resumptionPSKUsageEncoder: BufferEncoder<ResumptionPSKUsageName>;
|
|
21
23
|
export declare const encodeResumptionPSKUsage: Encoder<ResumptionPSKUsageName>;
|
|
22
24
|
export declare const decodeResumptionPSKUsage: Decoder<ResumptionPSKUsageName>;
|
|
25
|
+
/** @public */
|
|
23
26
|
export interface PSKInfoExternal {
|
|
24
27
|
psktype: "external";
|
|
25
28
|
pskId: Uint8Array;
|
|
26
29
|
}
|
|
30
|
+
/** @public */
|
|
27
31
|
export interface PSKInfoResumption {
|
|
28
32
|
psktype: "resumption";
|
|
29
33
|
usage: ResumptionPSKUsageName;
|
|
30
34
|
pskGroupId: Uint8Array;
|
|
31
35
|
pskEpoch: bigint;
|
|
32
36
|
}
|
|
37
|
+
/** @public */
|
|
33
38
|
export type PSKInfo = PSKInfoExternal | PSKInfoResumption;
|
|
34
39
|
export declare const pskInfoEncoder: BufferEncoder<PSKInfo>;
|
|
35
40
|
export declare const encodePskInfo: Encoder<PSKInfo>;
|
|
36
41
|
export declare const decodePskInfo: Decoder<PSKInfo>;
|
|
37
|
-
|
|
42
|
+
/** @public */
|
|
43
|
+
export type PSKNonce = {
|
|
38
44
|
pskNonce: Uint8Array;
|
|
39
45
|
};
|
|
46
|
+
/** @public */
|
|
40
47
|
export type PreSharedKeyID = PSKInfo & PSKNonce;
|
|
41
48
|
export declare const pskIdEncoder: BufferEncoder<PreSharedKeyID>;
|
|
42
49
|
export declare const encodePskId: Encoder<PreSharedKeyID>;
|
package/dist/src/presharedkey.js
CHANGED
|
@@ -11,7 +11,8 @@ export const pskTypes = {
|
|
|
11
11
|
export const pskTypeEncoder = contramapBufferEncoder(uint8Encoder, (t) => pskTypes[t]);
|
|
12
12
|
export const encodePskType = encode(pskTypeEncoder);
|
|
13
13
|
export const decodePskType = mapDecoderOption(decodeUint8, enumNumberToKey(pskTypes));
|
|
14
|
-
|
|
14
|
+
/** @public */
|
|
15
|
+
export const resumptionPSKUsages = {
|
|
15
16
|
application: 1,
|
|
16
17
|
reinit: 2,
|
|
17
18
|
branch: 3,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presharedkey.js","sourceRoot":"","sources":["../../src/presharedkey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACvH,OAAO,EAAW,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC1G,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAiB,MAAM,EAAW,MAAM,uBAAuB,CAAA;AACvH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;CACL,CAAA;AAKV,MAAM,CAAC,MAAM,cAAc,GAA+B,sBAAsB,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAElH,MAAM,CAAC,MAAM,aAAa,GAAyB,MAAM,CAAC,cAAc,CAAC,CAAA;AACzE,MAAM,CAAC,MAAM,aAAa,GAAyB,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAA;AAE3G,MAAM,mBAAmB,GAAG;
|
|
1
|
+
{"version":3,"file":"presharedkey.js","sourceRoot":"","sources":["../../src/presharedkey.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { Decoder } from "./codec/tlsDecoder.js";
|
|
|
2
2
|
import { BufferEncoder } from "./codec/tlsEncoder.js";
|
|
3
3
|
import { CiphersuiteImpl } from "./crypto/ciphersuite.js";
|
|
4
4
|
import { PathSecrets } from "./pathSecrets.js";
|
|
5
|
+
/** @public */
|
|
5
6
|
export interface PrivateKeyPath {
|
|
6
7
|
leafIndex: number;
|
|
7
8
|
privateKeys: Record<number, Uint8Array>;
|