ts-mls 1.4.0 → 1.4.2
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/dist/authenticatedContent.d.ts +3 -1
- package/dist/authenticatedContent.js +10 -8
- package/dist/authenticatedContent.js.map +1 -1
- package/dist/capabilities.d.ts +2 -1
- package/dist/capabilities.js +13 -12
- package/dist/capabilities.js.map +1 -1
- package/dist/clientState.d.ts +4 -3
- package/dist/clientState.js +87 -59
- package/dist/clientState.js.map +1 -1
- package/dist/codec/number.d.ts +5 -1
- package/dist/codec/number.js +33 -24
- package/dist/codec/number.js.map +1 -1
- package/dist/codec/optional.d.ts +2 -2
- package/dist/codec/optional.js +24 -7
- package/dist/codec/optional.js.map +1 -1
- package/dist/codec/tlsEncoder.d.ts +11 -8
- package/dist/codec/tlsEncoder.js +39 -21
- package/dist/codec/tlsEncoder.js.map +1 -1
- package/dist/codec/variableLength.d.ts +4 -4
- package/dist/codec/variableLength.js +58 -28
- package/dist/codec/variableLength.js.map +1 -1
- package/dist/commit.d.ts +2 -1
- package/dist/commit.js +7 -6
- package/dist/commit.js.map +1 -1
- package/dist/contentType.d.ts +2 -1
- package/dist/contentType.js +4 -3
- package/dist/contentType.js.map +1 -1
- package/dist/createCommit.js +6 -5
- package/dist/createCommit.js.map +1 -1
- package/dist/credential.d.ts +5 -1
- package/dist/credential.js +14 -10
- package/dist/credential.js.map +1 -1
- package/dist/credentialType.d.ts +2 -1
- package/dist/credentialType.js +4 -3
- package/dist/credentialType.js.map +1 -1
- package/dist/crypto/ciphersuite.d.ts +2 -1
- package/dist/crypto/ciphersuite.js +4 -3
- package/dist/crypto/ciphersuite.js.map +1 -1
- package/dist/crypto/hash.js +4 -3
- package/dist/crypto/hash.js.map +1 -1
- package/dist/crypto/hpke.js +10 -4
- package/dist/crypto/hpke.js.map +1 -1
- package/dist/crypto/implementation/default/makeAead.js +9 -9
- package/dist/crypto/implementation/default/makeAead.js.map +1 -1
- package/dist/crypto/implementation/default/makeHashImpl.js +5 -5
- package/dist/crypto/implementation/default/makeHashImpl.js.map +1 -1
- package/dist/crypto/implementation/default/makeKdfImpl.js +3 -3
- package/dist/crypto/implementation/default/makeKdfImpl.js.map +1 -1
- package/dist/crypto/implementation/hpke.js +11 -11
- package/dist/crypto/implementation/hpke.js.map +1 -1
- package/dist/crypto/kdf.js +8 -7
- package/dist/crypto/kdf.js.map +1 -1
- package/dist/crypto/signature.js +10 -4
- package/dist/crypto/signature.js.map +1 -1
- package/dist/defaultExtensionType.d.ts +2 -1
- package/dist/defaultExtensionType.js +4 -3
- package/dist/defaultExtensionType.js.map +1 -1
- package/dist/defaultProposalType.d.ts +2 -1
- package/dist/defaultProposalType.js +4 -3
- package/dist/defaultProposalType.js.map +1 -1
- package/dist/extension.d.ts +3 -1
- package/dist/extension.js +8 -6
- package/dist/extension.js.map +1 -1
- package/dist/externalSender.d.ts +2 -1
- package/dist/externalSender.js +5 -4
- package/dist/externalSender.js.map +1 -1
- package/dist/framedContent.d.ts +9 -1
- package/dist/framedContent.js +35 -27
- package/dist/framedContent.js.map +1 -1
- package/dist/groupContext.d.ts +2 -1
- package/dist/groupContext.js +17 -16
- package/dist/groupContext.js.map +1 -1
- package/dist/groupInfo.d.ts +3 -1
- package/dist/groupInfo.js +11 -9
- package/dist/groupInfo.js.map +1 -1
- package/dist/groupSecrets.d.ts +2 -1
- package/dist/groupSecrets.js +6 -5
- package/dist/groupSecrets.js.map +1 -1
- package/dist/hpkeCiphertext.d.ts +2 -1
- package/dist/hpkeCiphertext.js +4 -3
- package/dist/hpkeCiphertext.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/keyPackage.d.ts +12 -3
- package/dist/keyPackage.js +23 -18
- package/dist/keyPackage.js.map +1 -1
- package/dist/leafNode.d.ts +11 -1
- package/dist/leafNode.js +43 -27
- package/dist/leafNode.js.map +1 -1
- package/dist/leafNodeSource.d.ts +2 -1
- package/dist/leafNodeSource.js +4 -3
- package/dist/leafNodeSource.js.map +1 -1
- package/dist/lifetime.d.ts +2 -1
- package/dist/lifetime.js +4 -3
- package/dist/lifetime.js.map +1 -1
- package/dist/message.d.ts +9 -2
- package/dist/message.js +27 -20
- package/dist/message.js.map +1 -1
- package/dist/messageProtection.js +4 -3
- package/dist/messageProtection.js.map +1 -1
- package/dist/nodeType.d.ts +2 -1
- package/dist/nodeType.js +4 -3
- package/dist/nodeType.js.map +1 -1
- package/dist/parentHash.d.ts +2 -1
- package/dist/parentHash.js +5 -4
- package/dist/parentHash.js.map +1 -1
- package/dist/parentNode.d.ts +2 -1
- package/dist/parentNode.js +5 -4
- package/dist/parentNode.js.map +1 -1
- package/dist/presharedkey.d.ts +6 -1
- package/dist/presharedkey.js +16 -11
- package/dist/presharedkey.js.map +1 -1
- package/dist/privateMessage.d.ts +4 -1
- package/dist/privateMessage.js +29 -20
- package/dist/privateMessage.js.map +1 -1
- package/dist/processMessages.js +3 -2
- package/dist/processMessages.js.map +1 -1
- package/dist/proposal.d.ts +17 -1
- package/dist/proposal.js +50 -34
- package/dist/proposal.js.map +1 -1
- package/dist/proposalOrRefType.d.ts +5 -1
- package/dist/proposalOrRefType.js +14 -10
- package/dist/proposalOrRefType.js.map +1 -1
- package/dist/protocolVersion.d.ts +2 -1
- package/dist/protocolVersion.js +4 -3
- package/dist/protocolVersion.js.map +1 -1
- package/dist/publicMessage.d.ts +3 -1
- package/dist/publicMessage.js +9 -7
- package/dist/publicMessage.js.map +1 -1
- package/dist/ratchetTree.d.ts +3 -1
- package/dist/ratchetTree.js +13 -11
- package/dist/ratchetTree.js.map +1 -1
- package/dist/requiredCapabilities.d.ts +2 -1
- package/dist/requiredCapabilities.js +6 -5
- package/dist/requiredCapabilities.js.map +1 -1
- package/dist/sender.d.ts +6 -1
- package/dist/sender.js +24 -13
- package/dist/sender.js.map +1 -1
- package/dist/transcriptHash.d.ts +2 -1
- package/dist/transcriptHash.js +18 -8
- package/dist/transcriptHash.js.map +1 -1
- package/dist/treeHash.d.ts +4 -1
- package/dist/treeHash.js +17 -14
- package/dist/treeHash.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/updatePath.d.ts +3 -1
- package/dist/updatePath.js +10 -8
- package/dist/updatePath.js.map +1 -1
- package/dist/util/byteArray.d.ts +2 -1
- package/dist/util/byteArray.js +21 -2
- package/dist/util/byteArray.js.map +1 -1
- package/dist/welcome.d.ts +3 -1
- package/dist/welcome.js +12 -10
- package/dist/welcome.js.map +1 -1
- package/dist/wireformat.d.ts +2 -1
- package/dist/wireformat.js +4 -3
- package/dist/wireformat.js.map +1 -1
- package/package.json +3 -3
package/dist/credential.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential.js","sourceRoot":"","sources":["../src/credential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"credential.js","sourceRoot":"","sources":["../src/credential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAiB,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AACpH,OAAO,EAAsB,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAkBrG,MAAM,CAAC,MAAM,sBAAsB,GAAmC,uBAAuB,CAC3F,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,EAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAU,CAC/C,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAA6B,MAAM,CAAC,sBAAsB,CAAC,CAAA;AAE7F,MAAM,CAAC,MAAM,qBAAqB,GAAkC,uBAAuB,CACzF,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,EAC7D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,YAAY,CAAU,CACnD,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAA4B,MAAM,CAAC,qBAAqB,CAAC,CAAA;AAE1F,MAAM,CAAC,MAAM,uBAAuB,GAAoC,uBAAuB,CAC7F,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,EAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAU,CAC3C,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAA8B,MAAM,CAAC,uBAAuB,CAAC,CAAA;AAEhG,MAAM,CAAC,MAAM,iBAAiB,GAA8B,CAAC,CAAC,EAAE,EAAE;IAChE,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;QACzB,KAAK,OAAO;YACV,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAA;QAClC,KAAK,MAAM;YACT,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACjC;YACE,OAAO,uBAAuB,CAAC,CAAqB,CAAC,CAAA;IACzD,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAwB,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAE9E,MAAM,qBAAqB,GAA6B,UAAU,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAClG,cAAc,EAAE,OAAO;IACvB,QAAQ;CACT,CAAC,CAAC,CAAA;AAEH,MAAM,oBAAoB,GAA4B,UAAU,CAC9D,gBAAgB,CAAC,gBAAgB,CAAC,EAClC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAC7D,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAwB,cAAc,CACjE,oBAAoB,EACpB,CAAC,cAAc,EAAuB,EAAE;IACtC,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,OAAO;YACV,OAAO,qBAAqB,CAAA;QAC9B,KAAK,MAAM;YACT,OAAO,oBAAoB,CAAA;IAC/B,CAAC;AACH,CAAC,CACF,CAAA"}
|
package/dist/credentialType.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
2
|
-
import { Encoder } from "./codec/tlsEncoder.js";
|
|
2
|
+
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
3
3
|
declare const credentialTypes: {
|
|
4
4
|
readonly basic: 1;
|
|
5
5
|
readonly x509: 2;
|
|
6
6
|
};
|
|
7
7
|
export type CredentialTypeName = keyof typeof credentialTypes;
|
|
8
8
|
export type CredentialTypeValue = (typeof credentialTypes)[CredentialTypeName];
|
|
9
|
+
export declare const credentialTypeEncoder: BufferEncoder<CredentialTypeName>;
|
|
9
10
|
export declare const encodeCredentialType: Encoder<CredentialTypeName>;
|
|
10
11
|
export declare const decodeCredentialType: Decoder<CredentialTypeName>;
|
|
11
12
|
export {};
|
package/dist/credentialType.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { decodeUint16,
|
|
1
|
+
import { decodeUint16, uint16Encoder } from "./codec/number.js";
|
|
2
2
|
import { mapDecoderOption } from "./codec/tlsDecoder.js";
|
|
3
|
-
import {
|
|
3
|
+
import { contramapBufferEncoder, encode } from "./codec/tlsEncoder.js";
|
|
4
4
|
import { openEnumNumberEncoder, openEnumNumberToKey } from "./util/enumHelpers.js";
|
|
5
5
|
const credentialTypes = {
|
|
6
6
|
basic: 1,
|
|
7
7
|
x509: 2,
|
|
8
8
|
};
|
|
9
|
-
export const
|
|
9
|
+
export const credentialTypeEncoder = contramapBufferEncoder(uint16Encoder, openEnumNumberEncoder(credentialTypes));
|
|
10
|
+
export const encodeCredentialType = encode(credentialTypeEncoder);
|
|
10
11
|
export const decodeCredentialType = mapDecoderOption(decodeUint16, openEnumNumberToKey(credentialTypes));
|
|
11
12
|
//# sourceMappingURL=credentialType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentialType.js","sourceRoot":"","sources":["../src/credentialType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"credentialType.js","sourceRoot":"","sources":["../src/credentialType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAW,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAiB,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC9F,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAElF,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;CACC,CAAA;AAKV,MAAM,CAAC,MAAM,qBAAqB,GAAsC,sBAAsB,CAC5F,aAAa,EACb,qBAAqB,CAAC,eAAe,CAAC,CACvC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAgC,MAAM,CAAC,qBAAqB,CAAC,CAAA;AAE9F,MAAM,CAAC,MAAM,oBAAoB,GAAgC,gBAAgB,CAC/E,YAAY,EACZ,mBAAmB,CAAC,eAAe,CAAC,CACrC,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { Signature, SignatureAlgorithm } from "./signature.js";
|
|
|
2
2
|
import { Hash, HashAlgorithm } from "./hash.js";
|
|
3
3
|
import { Kdf } from "./kdf.js";
|
|
4
4
|
import { Hpke, HpkeAlgorithm } from "./hpke.js";
|
|
5
|
-
import { Encoder } from "../codec/tlsEncoder.js";
|
|
5
|
+
import { BufferEncoder, Encoder } from "../codec/tlsEncoder.js";
|
|
6
6
|
import { Decoder } from "../codec/tlsDecoder.js";
|
|
7
7
|
import { Rng } from "./rng.js";
|
|
8
8
|
export interface CiphersuiteImpl {
|
|
@@ -36,6 +36,7 @@ export declare const ciphersuites: {
|
|
|
36
36
|
};
|
|
37
37
|
export type CiphersuiteName = keyof typeof ciphersuites;
|
|
38
38
|
export type CiphersuiteId = (typeof ciphersuites)[CiphersuiteName];
|
|
39
|
+
export declare const ciphersuiteEncoder: BufferEncoder<CiphersuiteName>;
|
|
39
40
|
export declare const encodeCiphersuite: Encoder<CiphersuiteName>;
|
|
40
41
|
export declare const decodeCiphersuite: Decoder<CiphersuiteName>;
|
|
41
42
|
export declare function getCiphersuiteNameFromId(id: CiphersuiteId): CiphersuiteName;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { decodeUint16,
|
|
1
|
+
import { contramapBufferEncoder, encode } from "../codec/tlsEncoder.js";
|
|
2
|
+
import { decodeUint16, uint16Encoder } from "../codec/number.js";
|
|
3
3
|
import { mapDecoderOption } from "../codec/tlsDecoder.js";
|
|
4
4
|
import { openEnumNumberEncoder, openEnumNumberToKey, reverseMap } from "../util/enumHelpers.js";
|
|
5
5
|
export const ciphersuites = {
|
|
@@ -23,7 +23,8 @@ export const ciphersuites = {
|
|
|
23
23
|
MLS_256_XWING_AES256GCM_SHA512_MLDSA87: 87,
|
|
24
24
|
MLS_256_XWING_CHACHA20POLY1305_SHA512_MLDSA87: 88,
|
|
25
25
|
};
|
|
26
|
-
export const
|
|
26
|
+
export const ciphersuiteEncoder = contramapBufferEncoder(uint16Encoder, openEnumNumberEncoder(ciphersuites));
|
|
27
|
+
export const encodeCiphersuite = encode(ciphersuiteEncoder);
|
|
27
28
|
export const decodeCiphersuite = mapDecoderOption(decodeUint16, openEnumNumberToKey(ciphersuites));
|
|
28
29
|
export function getCiphersuiteNameFromId(id) {
|
|
29
30
|
return reverseMap(ciphersuites)[id];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ciphersuite.js","sourceRoot":"","sources":["../../src/crypto/ciphersuite.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ciphersuite.js","sourceRoot":"","sources":["../../src/crypto/ciphersuite.ts"],"names":[],"mappings":"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"}
|
package/dist/crypto/hash.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { composeBufferEncoders, encode } from "../codec/tlsEncoder.js";
|
|
2
|
+
import { varLenDataEncoder } from "../codec/variableLength.js";
|
|
3
3
|
export function refhash(label, value, h) {
|
|
4
4
|
return h.digest(encodeRefHash(label, value));
|
|
5
5
|
}
|
|
6
6
|
function encodeRefHash(label, value) {
|
|
7
7
|
const labelBytes = new TextEncoder().encode(label);
|
|
8
|
-
|
|
8
|
+
const enc = composeBufferEncoders([varLenDataEncoder, varLenDataEncoder]);
|
|
9
|
+
return encode(enc)([labelBytes, value]);
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=hash.js.map
|
package/dist/crypto/hash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/crypto/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/crypto/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAU9D,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,KAAiB,EAAE,CAAO;IAC/D,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;AAC9C,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,KAAiB;IACrD,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClD,MAAM,GAAG,GAAG,qBAAqB,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACzE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;AACzC,CAAC"}
|
package/dist/crypto/hpke.js
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { varLenDataEncoder } from "../codec/variableLength.js";
|
|
2
|
+
import { composeBufferEncoders, encode } from "../codec/tlsEncoder.js";
|
|
3
3
|
export function encryptWithLabel(publicKey, label, context, plaintext, hpke) {
|
|
4
|
-
return hpke.seal(publicKey, plaintext,
|
|
4
|
+
return hpke.seal(publicKey, plaintext, encode(composeBufferEncoders([varLenDataEncoder, varLenDataEncoder]))([
|
|
5
|
+
new TextEncoder().encode(`MLS 1.0 ${label}`),
|
|
6
|
+
context,
|
|
7
|
+
]), new Uint8Array());
|
|
5
8
|
}
|
|
6
9
|
export function decryptWithLabel(privateKey, label, context, kemOutput, ciphertext, hpke) {
|
|
7
|
-
return hpke.open(privateKey, kemOutput, ciphertext,
|
|
10
|
+
return hpke.open(privateKey, kemOutput, ciphertext, encode(composeBufferEncoders([varLenDataEncoder, varLenDataEncoder]))([
|
|
11
|
+
new TextEncoder().encode(`MLS 1.0 ${label}`),
|
|
12
|
+
context,
|
|
13
|
+
]));
|
|
8
14
|
}
|
|
9
15
|
//# sourceMappingURL=hpke.js.map
|
package/dist/crypto/hpke.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hpke.js","sourceRoot":"","sources":["../../src/crypto/hpke.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hpke.js","sourceRoot":"","sources":["../../src/crypto/hpke.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAYtE,MAAM,UAAU,gBAAgB,CAC9B,SAAoB,EACpB,KAAa,EACb,OAAmB,EACnB,SAAqB,EACrB,IAAU;IAEV,OAAO,IAAI,CAAC,IAAI,CACd,SAAS,EACT,SAAS,EACT,MAAM,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,EAAE,CAAC;QAC5C,OAAO;KACR,CAAC,EACF,IAAI,UAAU,EAAE,CACjB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,UAAsB,EACtB,KAAa,EACb,OAAmB,EACnB,SAAqB,EACrB,UAAsB,EACtB,IAAU;IAEV,OAAO,IAAI,CAAC,IAAI,CACd,UAAU,EACV,SAAS,EACT,UAAU,EACV,MAAM,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,EAAE,CAAC;QAC5C,OAAO;KACR,CAAC,CACH,CAAA;AACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Aes128Gcm, Aes256Gcm } from "@hpke/core";
|
|
2
2
|
import { DependencyError } from "../../../mlsError.js";
|
|
3
|
-
import {
|
|
3
|
+
import { toBufferSource } from "../../../util/byteArray.js";
|
|
4
4
|
export async function makeAead(aeadAlg) {
|
|
5
5
|
switch (aeadAlg) {
|
|
6
6
|
case "AES128GCM":
|
|
@@ -49,21 +49,21 @@ export async function makeAead(aeadAlg) {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
async function encryptAesGcm(key, nonce, aad, plaintext) {
|
|
52
|
-
const cryptoKey = await crypto.subtle.importKey("raw",
|
|
52
|
+
const cryptoKey = await crypto.subtle.importKey("raw", toBufferSource(key), { name: "AES-GCM" }, false, ["encrypt"]);
|
|
53
53
|
const result = await crypto.subtle.encrypt({
|
|
54
54
|
name: "AES-GCM",
|
|
55
|
-
iv:
|
|
56
|
-
additionalData: aad.length > 0 ?
|
|
57
|
-
}, cryptoKey,
|
|
55
|
+
iv: toBufferSource(nonce),
|
|
56
|
+
additionalData: aad.length > 0 ? toBufferSource(aad) : undefined,
|
|
57
|
+
}, cryptoKey, toBufferSource(plaintext));
|
|
58
58
|
return new Uint8Array(result);
|
|
59
59
|
}
|
|
60
60
|
async function decryptAesGcm(key, nonce, aad, ciphertext) {
|
|
61
|
-
const cryptoKey = await crypto.subtle.importKey("raw",
|
|
61
|
+
const cryptoKey = await crypto.subtle.importKey("raw", toBufferSource(key), { name: "AES-GCM" }, false, ["decrypt"]);
|
|
62
62
|
const result = await crypto.subtle.decrypt({
|
|
63
63
|
name: "AES-GCM",
|
|
64
|
-
iv:
|
|
65
|
-
additionalData: aad.length > 0 ?
|
|
66
|
-
}, cryptoKey,
|
|
64
|
+
iv: toBufferSource(nonce),
|
|
65
|
+
additionalData: aad.length > 0 ? toBufferSource(aad) : undefined,
|
|
66
|
+
}, cryptoKey, toBufferSource(ciphertext));
|
|
67
67
|
return new Uint8Array(result);
|
|
68
68
|
}
|
|
69
69
|
//# sourceMappingURL=makeAead.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeAead.js","sourceRoot":"","sources":["../../../../src/crypto/implementation/default/makeAead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"makeAead.js","sourceRoot":"","sources":["../../../../src/crypto/implementation/default/makeAead.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { toBufferSource } from "../../../util/byteArray.js";
|
|
2
2
|
export function makeHashImpl(sc, h) {
|
|
3
3
|
return {
|
|
4
4
|
async digest(data) {
|
|
5
|
-
const result = await sc.digest(h,
|
|
5
|
+
const result = await sc.digest(h, toBufferSource(data));
|
|
6
6
|
return new Uint8Array(result);
|
|
7
7
|
},
|
|
8
8
|
async mac(key, data) {
|
|
9
|
-
const result = await sc.sign("HMAC", await importMacKey(key, h),
|
|
9
|
+
const result = await sc.sign("HMAC", await importMacKey(key, h), toBufferSource(data));
|
|
10
10
|
return new Uint8Array(result);
|
|
11
11
|
},
|
|
12
12
|
async verifyMac(key, mac, data) {
|
|
13
|
-
return sc.verify("HMAC", await importMacKey(key, h),
|
|
13
|
+
return sc.verify("HMAC", await importMacKey(key, h), toBufferSource(mac), toBufferSource(data));
|
|
14
14
|
},
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
function importMacKey(rawKey, h) {
|
|
18
|
-
return crypto.subtle.importKey("raw",
|
|
18
|
+
return crypto.subtle.importKey("raw", toBufferSource(rawKey), {
|
|
19
19
|
name: "HMAC",
|
|
20
20
|
hash: { name: h },
|
|
21
21
|
}, false, ["sign", "verify"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeHashImpl.js","sourceRoot":"","sources":["../../../../src/crypto/implementation/default/makeHashImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"makeHashImpl.js","sourceRoot":"","sources":["../../../../src/crypto/implementation/default/makeHashImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAG3D,MAAM,UAAU,YAAY,CAAC,EAAgB,EAAE,CAAgB;IAC7D,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,IAAI;YACf,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;YACvD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI;YACjB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;YACtF,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;YAC5B,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;QACjG,CAAC;KACF,CAAA;AACH,CAAC;AACD,SAAS,YAAY,CAAC,MAAkB,EAAE,CAAgB;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5B,KAAK,EACL,cAAc,CAAC,MAAM,CAAC,EACtB;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;KAClB,EACD,KAAK,EACL,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAA;AACH,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { HkdfSha256, HkdfSha384, HkdfSha512 } from "@hpke/core";
|
|
2
|
-
import {
|
|
2
|
+
import { bytesToArrayBuffer } from "../../../util/byteArray.js";
|
|
3
3
|
export function makeKdfImpl(k) {
|
|
4
4
|
return {
|
|
5
5
|
async extract(salt, ikm) {
|
|
6
|
-
const result = await k.extract(
|
|
6
|
+
const result = await k.extract(bytesToArrayBuffer(salt), bytesToArrayBuffer(ikm));
|
|
7
7
|
return new Uint8Array(result);
|
|
8
8
|
},
|
|
9
9
|
async expand(prk, info, len) {
|
|
10
|
-
const result = await k.expand(
|
|
10
|
+
const result = await k.expand(bytesToArrayBuffer(prk), bytesToArrayBuffer(info), len);
|
|
11
11
|
return new Uint8Array(result);
|
|
12
12
|
},
|
|
13
13
|
size: k.hashSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeKdfImpl.js","sourceRoot":"","sources":["../../../../src/crypto/implementation/default/makeKdfImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAA;AAC7E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"makeKdfImpl.js","sourceRoot":"","sources":["../../../../src/crypto/implementation/default/makeKdfImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAG/D,MAAM,UAAU,WAAW,CAAC,CAAe;IACzC,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;YAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;YACjF,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAe,EAAE,IAAgB,EAAE,GAAW;YACzD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;YACrF,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC;QACD,IAAI,EAAE,CAAC,CAAC,QAAQ;KACjB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAoB;IAC1C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,aAAa;YAChB,OAAO,IAAI,UAAU,EAAE,CAAA;QACzB,KAAK,aAAa;YAChB,OAAO,IAAI,UAAU,EAAE,CAAA;QACzB,KAAK,aAAa;YAChB,OAAO,IAAI,UAAU,EAAE,CAAA;IAC3B,CAAC;AACH,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { concatUint8Arrays, bytesToArrayBuffer } from "../../util/byteArray.js";
|
|
2
2
|
import { CryptoError } from "../../mlsError.js";
|
|
3
3
|
export async function makeGenericHpke(hpkealg, aead, cs) {
|
|
4
4
|
return {
|
|
5
5
|
async open(privateKey, kemOutput, ciphertext, info, aad) {
|
|
6
6
|
try {
|
|
7
|
-
const result = await cs.open({ recipientKey: privateKey, enc:
|
|
7
|
+
const result = await cs.open({ recipientKey: privateKey, enc: bytesToArrayBuffer(kemOutput), info: bytesToArrayBuffer(info) }, bytesToArrayBuffer(ciphertext), aad ? bytesToArrayBuffer(aad) : new ArrayBuffer());
|
|
8
8
|
return new Uint8Array(result);
|
|
9
9
|
}
|
|
10
10
|
catch (e) {
|
|
@@ -12,27 +12,27 @@ export async function makeGenericHpke(hpkealg, aead, cs) {
|
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
async seal(publicKey, plaintext, info, aad) {
|
|
15
|
-
const result = await cs.seal({ recipientPublicKey: publicKey, info:
|
|
15
|
+
const result = await cs.seal({ recipientPublicKey: publicKey, info: bytesToArrayBuffer(info) }, bytesToArrayBuffer(plaintext), aad ? bytesToArrayBuffer(aad) : new ArrayBuffer());
|
|
16
16
|
return {
|
|
17
17
|
ct: new Uint8Array(result.ct),
|
|
18
18
|
enc: new Uint8Array(result.enc),
|
|
19
19
|
};
|
|
20
20
|
},
|
|
21
21
|
async exportSecret(publicKey, exporterContext, length, info) {
|
|
22
|
-
const context = await cs.createSenderContext({ recipientPublicKey: publicKey, info:
|
|
22
|
+
const context = await cs.createSenderContext({ recipientPublicKey: publicKey, info: bytesToArrayBuffer(info) });
|
|
23
23
|
return {
|
|
24
24
|
enc: new Uint8Array(context.enc),
|
|
25
|
-
secret: new Uint8Array(await context.export(
|
|
25
|
+
secret: new Uint8Array(await context.export(bytesToArrayBuffer(exporterContext), length)),
|
|
26
26
|
};
|
|
27
27
|
},
|
|
28
28
|
async importSecret(privateKey, exporterContext, kemOutput, length, info) {
|
|
29
29
|
try {
|
|
30
30
|
const context = await cs.createRecipientContext({
|
|
31
31
|
recipientKey: privateKey,
|
|
32
|
-
info:
|
|
33
|
-
enc:
|
|
32
|
+
info: bytesToArrayBuffer(info),
|
|
33
|
+
enc: bytesToArrayBuffer(kemOutput),
|
|
34
34
|
});
|
|
35
|
-
return new Uint8Array(await context.export(
|
|
35
|
+
return new Uint8Array(await context.export(bytesToArrayBuffer(exporterContext), length));
|
|
36
36
|
}
|
|
37
37
|
catch (e) {
|
|
38
38
|
throw new CryptoError(`${e}`);
|
|
@@ -42,7 +42,7 @@ export async function makeGenericHpke(hpkealg, aead, cs) {
|
|
|
42
42
|
try {
|
|
43
43
|
// See https://github.com/mlswg/mls-implementations/issues/176#issuecomment-1817043142
|
|
44
44
|
const key = hpkealg.kem === "DHKEM-P521-HKDF-SHA512" ? prepadPrivateKeyP521(k) : k;
|
|
45
|
-
return (await cs.kem.deserializePrivateKey(
|
|
45
|
+
return (await cs.kem.deserializePrivateKey(bytesToArrayBuffer(key)));
|
|
46
46
|
}
|
|
47
47
|
catch (e) {
|
|
48
48
|
throw new CryptoError(`${e}`);
|
|
@@ -50,7 +50,7 @@ export async function makeGenericHpke(hpkealg, aead, cs) {
|
|
|
50
50
|
},
|
|
51
51
|
async importPublicKey(k) {
|
|
52
52
|
try {
|
|
53
|
-
return (await cs.kem.deserializePublicKey(
|
|
53
|
+
return (await cs.kem.deserializePublicKey(bytesToArrayBuffer(k)));
|
|
54
54
|
}
|
|
55
55
|
catch (e) {
|
|
56
56
|
throw new CryptoError(`${e}`);
|
|
@@ -74,7 +74,7 @@ export async function makeGenericHpke(hpkealg, aead, cs) {
|
|
|
74
74
|
}
|
|
75
75
|
},
|
|
76
76
|
async deriveKeyPair(ikm) {
|
|
77
|
-
const kp = await cs.kem.deriveKeyPair(
|
|
77
|
+
const kp = await cs.kem.deriveKeyPair(bytesToArrayBuffer(ikm));
|
|
78
78
|
return { privateKey: kp.privateKey, publicKey: kp.publicKey };
|
|
79
79
|
},
|
|
80
80
|
async generateKeyPair() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hpke.js","sourceRoot":"","sources":["../../../src/crypto/implementation/hpke.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hpke.js","sourceRoot":"","sources":["../../../src/crypto/implementation/hpke.ts"],"names":[],"mappings":"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"}
|
package/dist/crypto/kdf.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { varLenDataEncoder } from "../codec/variableLength.js";
|
|
2
|
+
import { uint16Encoder, uint32Encoder } from "../codec/number.js";
|
|
3
|
+
import { composeBufferEncoders, encode } from "../codec/tlsEncoder.js";
|
|
3
4
|
export function expandWithLabel(secret, label, context, length, kdf) {
|
|
4
|
-
return kdf.expand(secret,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
return kdf.expand(secret, encode(composeBufferEncoders([uint16Encoder, varLenDataEncoder, varLenDataEncoder]))([
|
|
6
|
+
length,
|
|
7
|
+
new TextEncoder().encode(`MLS 1.0 ${label}`),
|
|
8
|
+
context,
|
|
8
9
|
]), length);
|
|
9
10
|
}
|
|
10
11
|
export async function deriveSecret(secret, label, kdf) {
|
|
11
12
|
return expandWithLabel(secret, label, new Uint8Array(), kdf.size, kdf);
|
|
12
13
|
}
|
|
13
14
|
export async function deriveTreeSecret(secret, label, generation, length, kdf) {
|
|
14
|
-
return expandWithLabel(secret, label,
|
|
15
|
+
return expandWithLabel(secret, label, encode(uint32Encoder)(generation), length, kdf);
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=kdf.js.map
|
package/dist/crypto/kdf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kdf.js","sourceRoot":"","sources":["../../src/crypto/kdf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"kdf.js","sourceRoot":"","sources":["../../src/crypto/kdf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAUtE,MAAM,UAAU,eAAe,CAC7B,MAAkB,EAClB,KAAa,EACb,OAAmB,EACnB,MAAc,EACd,GAAQ;IAER,OAAO,GAAG,CAAC,MAAM,CACf,MAAM,EACN,MAAM,CAAC,qBAAqB,CAAC,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM;QACN,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,EAAE,CAAC;QAC5C,OAAO;KACR,CAAC,EACF,MAAM,CACP,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAkB,EAAE,KAAa,EAAE,GAAQ;IAC5E,OAAO,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,UAAU,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAkB,EAClB,KAAa,EACb,UAAkB,EAClB,MAAc,EACd,GAAQ;IAER,OAAO,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;AACvF,CAAC"}
|
package/dist/crypto/signature.js
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { composeBufferEncoders, encode } from "../codec/tlsEncoder.js";
|
|
2
|
+
import { varLenDataEncoder } from "../codec/variableLength.js";
|
|
3
3
|
export async function signWithLabel(signKey, label, content, s) {
|
|
4
|
-
return s.sign(signKey,
|
|
4
|
+
return s.sign(signKey, encode(composeBufferEncoders([varLenDataEncoder, varLenDataEncoder]))([
|
|
5
|
+
new TextEncoder().encode(`MLS 1.0 ${label}`),
|
|
6
|
+
content,
|
|
7
|
+
]));
|
|
5
8
|
}
|
|
6
9
|
export async function verifyWithLabel(publicKey, label, content, signature, s) {
|
|
7
|
-
return s.verify(publicKey,
|
|
10
|
+
return s.verify(publicKey, encode(composeBufferEncoders([varLenDataEncoder, varLenDataEncoder]))([
|
|
11
|
+
new TextEncoder().encode(`MLS 1.0 ${label}`),
|
|
12
|
+
content,
|
|
13
|
+
]), signature);
|
|
8
14
|
}
|
|
9
15
|
//# sourceMappingURL=signature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/crypto/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/crypto/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAU9D,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAmB,EACnB,KAAa,EACb,OAAmB,EACnB,CAAY;IAEZ,OAAO,CAAC,CAAC,IAAI,CACX,OAAO,EACP,MAAM,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,EAAE,CAAC;QAC5C,OAAO;KACR,CAAC,CACH,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAqB,EACrB,KAAa,EACb,OAAmB,EACnB,SAAqB,EACrB,CAAY;IAEZ,OAAO,CAAC,CAAC,MAAM,CACb,SAAS,EACT,MAAM,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,EAAE,CAAC;QAC5C,OAAO;KACR,CAAC,EACF,SAAS,CACV,CAAA;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
2
|
-
import { Encoder } from "./codec/tlsEncoder.js";
|
|
2
|
+
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
3
3
|
export declare const defaultExtensionTypes: {
|
|
4
4
|
readonly application_id: 1;
|
|
5
5
|
readonly ratchet_tree: 2;
|
|
@@ -9,5 +9,6 @@ export declare const defaultExtensionTypes: {
|
|
|
9
9
|
};
|
|
10
10
|
export type DefaultExtensionTypeName = keyof typeof defaultExtensionTypes;
|
|
11
11
|
export type DefaultExtensionTypeValue = (typeof defaultExtensionTypes)[DefaultExtensionTypeName];
|
|
12
|
+
export declare const defaultExtensionTypeEncoder: BufferEncoder<DefaultExtensionTypeName>;
|
|
12
13
|
export declare const encodeDefaultExtensionType: Encoder<DefaultExtensionTypeName>;
|
|
13
14
|
export declare const decodeDefaultExtensionType: Decoder<DefaultExtensionTypeName>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { decodeUint16,
|
|
1
|
+
import { decodeUint16, uint16Encoder } from "./codec/number.js";
|
|
2
2
|
import { mapDecoderOption } from "./codec/tlsDecoder.js";
|
|
3
|
-
import {
|
|
3
|
+
import { contramapBufferEncoder, encode } from "./codec/tlsEncoder.js";
|
|
4
4
|
import { enumNumberToKey } from "./util/enumHelpers.js";
|
|
5
5
|
export const defaultExtensionTypes = {
|
|
6
6
|
application_id: 1,
|
|
@@ -9,6 +9,7 @@ export const defaultExtensionTypes = {
|
|
|
9
9
|
external_pub: 4,
|
|
10
10
|
external_senders: 5,
|
|
11
11
|
};
|
|
12
|
-
export const
|
|
12
|
+
export const defaultExtensionTypeEncoder = contramapBufferEncoder(uint16Encoder, (n) => defaultExtensionTypes[n]);
|
|
13
|
+
export const encodeDefaultExtensionType = encode(defaultExtensionTypeEncoder);
|
|
13
14
|
export const decodeDefaultExtensionType = mapDecoderOption(decodeUint16, enumNumberToKey(defaultExtensionTypes));
|
|
14
15
|
//# sourceMappingURL=defaultExtensionType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultExtensionType.js","sourceRoot":"","sources":["../src/defaultExtensionType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"defaultExtensionType.js","sourceRoot":"","sources":["../src/defaultExtensionType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAW,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAiB,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,CAAC;IACf,qBAAqB,EAAE,CAAC;IACxB,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,CAAC;CACX,CAAA;AAKV,MAAM,CAAC,MAAM,2BAA2B,GAA4C,sBAAsB,CACxG,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAChC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAsC,MAAM,CAAC,2BAA2B,CAAC,CAAA;AAEhH,MAAM,CAAC,MAAM,0BAA0B,GAAsC,gBAAgB,CAC3F,YAAY,EACZ,eAAe,CAAC,qBAAqB,CAAC,CACvC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
2
|
-
import { Encoder } from "./codec/tlsEncoder.js";
|
|
2
|
+
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
3
3
|
export declare const defaultProposalTypes: {
|
|
4
4
|
readonly add: 1;
|
|
5
5
|
readonly update: 2;
|
|
@@ -11,5 +11,6 @@ export declare const defaultProposalTypes: {
|
|
|
11
11
|
};
|
|
12
12
|
export type DefaultProposalTypeName = keyof typeof defaultProposalTypes;
|
|
13
13
|
export type DefaultProposalTypeValue = (typeof defaultProposalTypes)[DefaultProposalTypeName];
|
|
14
|
+
export declare const defaultProposalTypeEncoder: BufferEncoder<DefaultProposalTypeName>;
|
|
14
15
|
export declare const encodeDefaultProposalType: Encoder<DefaultProposalTypeName>;
|
|
15
16
|
export declare const decodeDefaultProposalType: Decoder<DefaultProposalTypeName>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { decodeUint16,
|
|
1
|
+
import { decodeUint16, uint16Encoder } from "./codec/number.js";
|
|
2
2
|
import { mapDecoderOption } from "./codec/tlsDecoder.js";
|
|
3
|
-
import {
|
|
3
|
+
import { contramapBufferEncoder, encode } from "./codec/tlsEncoder.js";
|
|
4
4
|
import { enumNumberToKey } from "./util/enumHelpers.js";
|
|
5
5
|
export const defaultProposalTypes = {
|
|
6
6
|
add: 1,
|
|
@@ -11,6 +11,7 @@ export const defaultProposalTypes = {
|
|
|
11
11
|
external_init: 6,
|
|
12
12
|
group_context_extensions: 7,
|
|
13
13
|
};
|
|
14
|
-
export const
|
|
14
|
+
export const defaultProposalTypeEncoder = contramapBufferEncoder(uint16Encoder, (n) => defaultProposalTypes[n]);
|
|
15
|
+
export const encodeDefaultProposalType = encode(defaultProposalTypeEncoder);
|
|
15
16
|
export const decodeDefaultProposalType = mapDecoderOption(decodeUint16, enumNumberToKey(defaultProposalTypes));
|
|
16
17
|
//# sourceMappingURL=defaultProposalType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultProposalType.js","sourceRoot":"","sources":["../src/defaultProposalType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"defaultProposalType.js","sourceRoot":"","sources":["../src/defaultProposalType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAW,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAiB,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC;IAChB,wBAAwB,EAAE,CAAC;CACnB,CAAA;AAKV,MAAM,CAAC,MAAM,0BAA0B,GAA2C,sBAAsB,CACtG,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAC/B,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAqC,MAAM,CAAC,0BAA0B,CAAC,CAAA;AAE7G,MAAM,CAAC,MAAM,yBAAyB,GAAqC,gBAAgB,CACzF,YAAY,EACZ,eAAe,CAAC,oBAAoB,CAAC,CACtC,CAAA"}
|
package/dist/extension.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
2
|
-
import { Encoder } from "./codec/tlsEncoder.js";
|
|
2
|
+
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
3
3
|
import { DefaultExtensionTypeName } from "./defaultExtensionType.js";
|
|
4
4
|
export type ExtensionType = DefaultExtensionTypeName | number;
|
|
5
|
+
export declare const extensionTypeEncoder: BufferEncoder<ExtensionType>;
|
|
5
6
|
export declare const encodeExtensionType: Encoder<ExtensionType>;
|
|
6
7
|
export declare const decodeExtensionType: Decoder<ExtensionType>;
|
|
7
8
|
export interface Extension {
|
|
8
9
|
extensionType: ExtensionType;
|
|
9
10
|
extensionData: Uint8Array;
|
|
10
11
|
}
|
|
12
|
+
export declare const extensionEncoder: BufferEncoder<Extension>;
|
|
11
13
|
export declare const encodeExtension: Encoder<Extension>;
|
|
12
14
|
export declare const decodeExtension: Decoder<Extension>;
|
|
13
15
|
export declare function extensionEqual(a: Extension, b: Extension): boolean;
|
package/dist/extension.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { decodeUint16,
|
|
1
|
+
import { decodeUint16, uint16Encoder } from "./codec/number.js";
|
|
2
2
|
import { mapDecoders, orDecoder } from "./codec/tlsDecoder.js";
|
|
3
|
-
import {
|
|
4
|
-
import { decodeVarLenData,
|
|
5
|
-
import { decodeDefaultExtensionType,
|
|
3
|
+
import { contramapBufferEncoders, encode } from "./codec/tlsEncoder.js";
|
|
4
|
+
import { decodeVarLenData, varLenDataEncoder } from "./codec/variableLength.js";
|
|
5
|
+
import { decodeDefaultExtensionType, defaultExtensionTypeEncoder, defaultExtensionTypes, } from "./defaultExtensionType.js";
|
|
6
6
|
import { constantTimeEqual } from "./util/constantTimeCompare.js";
|
|
7
|
-
export const
|
|
7
|
+
export const extensionTypeEncoder = (t) => typeof t === "number" ? uint16Encoder(t) : defaultExtensionTypeEncoder(t);
|
|
8
|
+
export const encodeExtensionType = encode(extensionTypeEncoder);
|
|
8
9
|
export const decodeExtensionType = orDecoder(decodeDefaultExtensionType, decodeUint16);
|
|
9
|
-
export const
|
|
10
|
+
export const extensionEncoder = contramapBufferEncoders([extensionTypeEncoder, varLenDataEncoder], (e) => [e.extensionType, e.extensionData]);
|
|
11
|
+
export const encodeExtension = encode(extensionEncoder);
|
|
10
12
|
export const decodeExtension = mapDecoders([decodeExtensionType, decodeVarLenData], (extensionType, extensionData) => ({ extensionType, extensionData }));
|
|
11
13
|
export function extensionEqual(a, b) {
|
|
12
14
|
return a.extensionType === b.extensionType && constantTimeEqual(a.extensionData, b.extensionData);
|
package/dist/extension.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAW,WAAW,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAAE,uBAAuB,EAAiB,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAE3B,qBAAqB,GACtB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAIjE,MAAM,CAAC,MAAM,oBAAoB,GAAiC,CAAC,CAAC,EAAE,EAAE,CACtE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,mBAAmB,GAA2B,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAEvF,MAAM,CAAC,MAAM,mBAAmB,GAA2B,SAAS,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;AAO9G,MAAM,CAAC,MAAM,gBAAgB,GAA6B,uBAAuB,CAC/E,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,EACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAU,CACnD,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAuB,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,eAAe,GAAuB,WAAW,CAC5D,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,EACvC,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CACrE,CAAA;AAED,MAAM,UAAU,cAAc,CAAC,CAAY,EAAE,CAAY;IACvD,OAAO,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,aAAa,IAAI,iBAAiB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,CAAA;AACnG,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAc,EAAE,CAAc;IAC5D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACvC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,kBAA+B,EAC/B,YAAsC;IAEtC,OAAO,kBAAkB;SACtB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;SACrD,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;AAC7F,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAgB;IAC1C,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,CAAgB;IACpD,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;AAC7D,CAAC"}
|
package/dist/externalSender.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
2
|
-
import { Encoder } from "./codec/tlsEncoder.js";
|
|
2
|
+
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
3
3
|
import { Credential } from "./credential.js";
|
|
4
4
|
export interface ExternalSender {
|
|
5
5
|
signaturePublicKey: Uint8Array;
|
|
6
6
|
credential: Credential;
|
|
7
7
|
}
|
|
8
|
+
export declare const externalSenderEncoder: BufferEncoder<ExternalSender>;
|
|
8
9
|
export declare const encodeExternalSender: Encoder<ExternalSender>;
|
|
9
10
|
export declare const decodeExternalSender: Decoder<ExternalSender>;
|