ts-mls 1.0.1
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/LICENSE +21 -0
- package/README.md +194 -0
- package/dist/codec/number.d.ts +10 -0
- package/dist/codec/number.js +73 -0
- package/dist/codec/number.js.map +1 -0
- package/dist/codec/optional.d.ts +4 -0
- package/dist/codec/optional.js +24 -0
- package/dist/codec/optional.js.map +1 -0
- package/dist/codec/tlsDecoder.d.ts +16 -0
- package/dist/codec/tlsDecoder.js +98 -0
- package/dist/codec/tlsDecoder.js.map +1 -0
- package/dist/codec/tlsEncoder.d.ts +9 -0
- package/dist/codec/tlsEncoder.js +29 -0
- package/dist/codec/tlsEncoder.js.map +1 -0
- package/dist/codec/variableLength.d.ts +10 -0
- package/dist/codec/variableLength.js +102 -0
- package/dist/codec/variableLength.js.map +1 -0
- package/dist/codec/vector.d.ts +10 -0
- package/dist/codec/vector.js +76 -0
- package/dist/codec/vector.js.map +1 -0
- package/dist/crypto/aead.d.ts +5 -0
- package/dist/crypto/aead.js +56 -0
- package/dist/crypto/aead.js.map +1 -0
- package/dist/crypto/ciphersuite.d.ts +47 -0
- package/dist/crypto/ciphersuite.js +208 -0
- package/dist/crypto/ciphersuite.js.map +1 -0
- package/dist/crypto/hash.d.ts +8 -0
- package/dist/crypto/hash.js +36 -0
- package/dist/crypto/hash.js.map +1 -0
- package/dist/crypto/hpke.d.ts +46 -0
- package/dist/crypto/hpke.js +73 -0
- package/dist/crypto/hpke.js.map +1 -0
- package/dist/crypto/kdf.d.ts +12 -0
- package/dist/crypto/kdf.js +49 -0
- package/dist/crypto/kdf.js.map +1 -0
- package/dist/crypto/kem.d.ts +3 -0
- package/dist/crypto/kem.js +29 -0
- package/dist/crypto/kem.js.map +1 -0
- package/dist/crypto/rng.d.ts +4 -0
- package/dist/crypto/rng.js +9 -0
- package/dist/crypto/rng.js.map +1 -0
- package/dist/crypto/signature.d.ts +12 -0
- package/dist/crypto/signature.js +73 -0
- package/dist/crypto/signature.js.map +1 -0
- package/dist/src/AuthenticationService.d.ts +7 -0
- package/dist/src/AuthenticationService.js +9 -0
- package/dist/src/AuthenticationService.js.map +1 -0
- package/dist/src/IncomingMessageAction.d.ts +10 -0
- package/dist/src/IncomingMessageAction.d.ts.map +1 -0
- package/dist/src/IncomingMessageAction.js +6 -0
- package/dist/src/IncomingMessageAction.js.map +1 -0
- package/dist/src/PaddingConfig.d.ts +9 -0
- package/dist/src/PaddingConfig.js +12 -0
- package/dist/src/PaddingConfig.js.map +1 -0
- package/dist/src/authenticatedContent.d.ts +32 -0
- package/dist/src/authenticatedContent.d.ts.map +1 -0
- package/dist/src/authenticatedContent.js +32 -0
- package/dist/src/authenticatedContent.js.map +1 -0
- package/dist/src/authenticationService.d.ts.map +1 -0
- package/dist/src/capabilities.d.ts +14 -0
- package/dist/src/capabilities.d.ts.map +1 -0
- package/dist/src/capabilities.js +31 -0
- package/dist/src/capabilities.js.map +1 -0
- package/dist/src/clientConfig.d.ts +21 -0
- package/dist/src/clientConfig.d.ts.map +1 -0
- package/dist/src/clientConfig.js +16 -0
- package/dist/src/clientConfig.js.map +1 -0
- package/dist/src/clientState.d.ts +122 -0
- package/dist/src/clientState.d.ts.map +1 -0
- package/dist/src/clientState.js +562 -0
- package/dist/src/clientState.js.map +1 -0
- package/dist/src/codec/number.d.ts +10 -0
- package/dist/src/codec/number.d.ts.map +1 -0
- package/dist/src/codec/number.js +67 -0
- package/dist/src/codec/number.js.map +1 -0
- package/dist/src/codec/optional.d.ts +4 -0
- package/dist/src/codec/optional.d.ts.map +1 -0
- package/dist/src/codec/optional.js +24 -0
- package/dist/src/codec/optional.js.map +1 -0
- package/dist/src/codec/tlsDecoder.d.ts +14 -0
- package/dist/src/codec/tlsDecoder.d.ts.map +1 -0
- package/dist/src/codec/tlsDecoder.js +90 -0
- package/dist/src/codec/tlsDecoder.js.map +1 -0
- package/dist/src/codec/tlsEncoder.d.ts +9 -0
- package/dist/src/codec/tlsEncoder.d.ts.map +1 -0
- package/dist/src/codec/tlsEncoder.js +29 -0
- package/dist/src/codec/tlsEncoder.js.map +1 -0
- package/dist/src/codec/variableLength.d.ts +11 -0
- package/dist/src/codec/variableLength.d.ts.map +1 -0
- package/dist/src/codec/variableLength.js +104 -0
- package/dist/src/codec/variableLength.js.map +1 -0
- package/dist/src/commit.d.ts +10 -0
- package/dist/src/commit.d.ts.map +1 -0
- package/dist/src/commit.js +12 -0
- package/dist/src/commit.js.map +1 -0
- package/dist/src/contentType.d.ts +12 -0
- package/dist/src/contentType.d.ts.map +1 -0
- package/dist/src/contentType.js +15 -0
- package/dist/src/contentType.js.map +1 -0
- package/dist/src/createCommit.d.ts +32 -0
- package/dist/src/createCommit.d.ts.map +1 -0
- package/dist/src/createCommit.js +260 -0
- package/dist/src/createCommit.js.map +1 -0
- package/dist/src/createMessage.d.ts +24 -0
- package/dist/src/createMessage.d.ts.map +1 -0
- package/dist/src/createMessage.js +36 -0
- package/dist/src/createMessage.js.map +1 -0
- package/dist/src/credential.d.ts +21 -0
- package/dist/src/credential.d.ts.map +1 -0
- package/dist/src/credential.js +35 -0
- package/dist/src/credential.js.map +1 -0
- package/dist/src/credentialType.d.ts +11 -0
- package/dist/src/credentialType.d.ts.map +1 -0
- package/dist/src/credentialType.js +14 -0
- package/dist/src/credentialType.js.map +1 -0
- package/dist/src/crypto/aead.d.ts +8 -0
- package/dist/src/crypto/aead.d.ts.map +1 -0
- package/dist/src/crypto/aead.js +105 -0
- package/dist/src/crypto/aead.js.map +1 -0
- package/dist/src/crypto/ciphersuite.d.ts +51 -0
- package/dist/src/crypto/ciphersuite.d.ts.map +1 -0
- package/dist/src/crypto/ciphersuite.js +252 -0
- package/dist/src/crypto/ciphersuite.js.map +1 -0
- package/dist/src/crypto/hash.d.ts +8 -0
- package/dist/src/crypto/hash.d.ts.map +1 -0
- package/dist/src/crypto/hash.js +36 -0
- package/dist/src/crypto/hash.js.map +1 -0
- package/dist/src/crypto/hpke.d.ts +51 -0
- package/dist/src/crypto/hpke.d.ts.map +1 -0
- package/dist/src/crypto/hpke.js +114 -0
- package/dist/src/crypto/hpke.js.map +1 -0
- package/dist/src/crypto/kdf.d.ts +12 -0
- package/dist/src/crypto/kdf.d.ts.map +1 -0
- package/dist/src/crypto/kdf.js +49 -0
- package/dist/src/crypto/kdf.js.map +1 -0
- package/dist/src/crypto/kem.d.ts +3 -0
- package/dist/src/crypto/kem.d.ts.map +1 -0
- package/dist/src/crypto/kem.js +85 -0
- package/dist/src/crypto/kem.js.map +1 -0
- package/dist/src/crypto/rng.d.ts +4 -0
- package/dist/src/crypto/rng.d.ts.map +1 -0
- package/dist/src/crypto/rng.js +9 -0
- package/dist/src/crypto/rng.js.map +1 -0
- package/dist/src/crypto/signature.d.ts +12 -0
- package/dist/src/crypto/signature.d.ts.map +1 -0
- package/dist/src/crypto/signature.js +165 -0
- package/dist/src/crypto/signature.js.map +1 -0
- package/dist/src/customCredential.d.ts +2 -0
- package/dist/src/customCredential.d.ts.map +1 -0
- package/dist/src/customCredential.js +14 -0
- package/dist/src/customCredential.js.map +1 -0
- package/dist/src/customExtension.d.ts +2 -0
- package/dist/src/customExtension.js +11 -0
- package/dist/src/customExtension.js.map +1 -0
- package/dist/src/customProposal.d.ts +2 -0
- package/dist/src/customProposal.js +11 -0
- package/dist/src/customProposal.js.map +1 -0
- package/dist/src/defaultCapabilities.d.ts +2 -0
- package/dist/src/defaultCapabilities.d.ts.map +1 -0
- package/dist/src/defaultCapabilities.js +15 -0
- package/dist/src/defaultCapabilities.js.map +1 -0
- package/dist/src/defaultExtensionType.d.ts +13 -0
- package/dist/src/defaultExtensionType.d.ts.map +1 -0
- package/dist/src/defaultExtensionType.js +17 -0
- package/dist/src/defaultExtensionType.js.map +1 -0
- package/dist/src/defaultProposalType.d.ts +15 -0
- package/dist/src/defaultProposalType.d.ts.map +1 -0
- package/dist/src/defaultProposalType.js +19 -0
- package/dist/src/defaultProposalType.js.map +1 -0
- package/dist/src/extension.d.ts +18 -0
- package/dist/src/extension.d.ts.map +1 -0
- package/dist/src/extension.js +38 -0
- package/dist/src/extension.js.map +1 -0
- package/dist/src/extensionType.d.ts +13 -0
- package/dist/src/extensionType.js +17 -0
- package/dist/src/extensionType.js.map +1 -0
- package/dist/src/externalProposal.d.ts +7 -0
- package/dist/src/externalProposal.d.ts.map +1 -0
- package/dist/src/externalProposal.js +44 -0
- package/dist/src/externalProposal.js.map +1 -0
- package/dist/src/externalSender.d.ts +9 -0
- package/dist/src/externalSender.d.ts.map +1 -0
- package/dist/src/externalSender.js +10 -0
- package/dist/src/externalSender.js.map +1 -0
- package/dist/src/framedContent.d.ts +113 -0
- package/dist/src/framedContent.d.ts.map +1 -0
- package/dist/src/framedContent.js +144 -0
- package/dist/src/framedContent.js.map +1 -0
- package/dist/src/grease.d.ts +16 -0
- package/dist/src/grease.d.ts.map +1 -0
- package/dist/src/grease.js +37 -0
- package/dist/src/grease.js.map +1 -0
- package/dist/src/groupContext.d.ts +19 -0
- package/dist/src/groupContext.d.ts.map +1 -0
- package/dist/src/groupContext.js +49 -0
- package/dist/src/groupContext.js.map +1 -0
- package/dist/src/groupInfo.d.ts +26 -0
- package/dist/src/groupInfo.d.ts.map +1 -0
- package/dist/src/groupInfo.js +55 -0
- package/dist/src/groupInfo.js.map +1 -0
- package/dist/src/groupSecrets.d.ts +10 -0
- package/dist/src/groupSecrets.d.ts.map +1 -0
- package/dist/src/groupSecrets.js +11 -0
- package/dist/src/groupSecrets.js.map +1 -0
- package/dist/src/hpkeCiphertext.d.ts +8 -0
- package/dist/src/hpkeCiphertext.d.ts.map +1 -0
- package/dist/src/hpkeCiphertext.js +9 -0
- package/dist/src/hpkeCiphertext.js.map +1 -0
- package/dist/src/index.d.ts +32 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +68 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/keyPackage.d.ts +38 -0
- package/dist/src/keyPackage.d.ts.map +1 -0
- package/dist/src/keyPackage.js +79 -0
- package/dist/src/keyPackage.js.map +1 -0
- package/dist/src/keyPackageEqualityConfig.d.ts +7 -0
- package/dist/src/keyPackageEqualityConfig.d.ts.map +1 -0
- package/dist/src/keyPackageEqualityConfig.js +13 -0
- package/dist/src/keyPackageEqualityConfig.js.map +1 -0
- package/dist/src/keyRetentionConfig.d.ts +6 -0
- package/dist/src/keyRetentionConfig.d.ts.map +1 -0
- package/dist/src/keyRetentionConfig.js +9 -0
- package/dist/src/keyRetentionConfig.js.map +1 -0
- package/dist/src/keySchedule.d.ts +24 -0
- package/dist/src/keySchedule.d.ts.map +1 -0
- package/dist/src/keySchedule.js +49 -0
- package/dist/src/keySchedule.js.map +1 -0
- package/dist/src/leafNode.d.ts +78 -0
- package/dist/src/leafNode.d.ts.map +1 -0
- package/dist/src/leafNode.js +96 -0
- package/dist/src/leafNode.js.map +1 -0
- package/dist/src/leafNodeSource.d.ts +12 -0
- package/dist/src/leafNodeSource.d.ts.map +1 -0
- package/dist/src/leafNodeSource.js +15 -0
- package/dist/src/leafNodeSource.js.map +1 -0
- package/dist/src/lifetime.d.ts +9 -0
- package/dist/src/lifetime.d.ts.map +1 -0
- package/dist/src/lifetime.js +16 -0
- package/dist/src/lifetime.js.map +1 -0
- package/dist/src/lifetimeConfig.d.ts +5 -0
- package/dist/src/lifetimeConfig.d.ts.map +1 -0
- package/dist/src/lifetimeConfig.js +8 -0
- package/dist/src/lifetimeConfig.js.map +1 -0
- package/dist/src/message.d.ts +42 -0
- package/dist/src/message.d.ts.map +1 -0
- package/dist/src/message.js +49 -0
- package/dist/src/message.js.map +1 -0
- package/dist/src/messageProtection.d.ts +36 -0
- package/dist/src/messageProtection.d.ts.map +1 -0
- package/dist/src/messageProtection.js +135 -0
- package/dist/src/messageProtection.js.map +1 -0
- package/dist/src/messageProtectionPublic.d.ts +17 -0
- package/dist/src/messageProtectionPublic.d.ts.map +1 -0
- package/dist/src/messageProtectionPublic.js +105 -0
- package/dist/src/messageProtectionPublic.js.map +1 -0
- package/dist/src/mlsError.d.ts +24 -0
- package/dist/src/mlsError.d.ts.map +1 -0
- package/dist/src/mlsError.js +60 -0
- package/dist/src/mlsError.js.map +1 -0
- package/dist/src/nodeType.d.ts +11 -0
- package/dist/src/nodeType.d.ts.map +1 -0
- package/dist/src/nodeType.js +14 -0
- package/dist/src/nodeType.js.map +1 -0
- package/dist/src/paddingConfig.d.ts.map +1 -0
- package/dist/src/parentHash.d.ts +16 -0
- package/dist/src/parentHash.d.ts.map +1 -0
- package/dist/src/parentHash.js +108 -0
- package/dist/src/parentHash.js.map +1 -0
- package/dist/src/parentNode.d.ts +9 -0
- package/dist/src/parentNode.d.ts.map +1 -0
- package/dist/src/parentNode.js +14 -0
- package/dist/src/parentNode.js.map +1 -0
- package/dist/src/pathSecrets.d.ts +10 -0
- package/dist/src/pathSecrets.d.ts.map +1 -0
- package/dist/src/pathSecrets.js +36 -0
- package/dist/src/pathSecrets.js.map +1 -0
- package/dist/src/presharedkey.d.ts +51 -0
- package/dist/src/presharedkey.d.ts.map +1 -0
- package/dist/src/presharedkey.js +65 -0
- package/dist/src/presharedkey.js.map +1 -0
- package/dist/src/privateKeyPath.d.ts +12 -0
- package/dist/src/privateKeyPath.d.ts.map +1 -0
- package/dist/src/privateKeyPath.js +26 -0
- package/dist/src/privateKeyPath.js.map +1 -0
- package/dist/src/privateMessage.d.ts +41 -0
- package/dist/src/privateMessage.d.ts.map +1 -0
- package/dist/src/privateMessage.js +122 -0
- package/dist/src/privateMessage.js.map +1 -0
- package/dist/src/processMessages.d.ts +26 -0
- package/dist/src/processMessages.d.ts.map +1 -0
- package/dist/src/processMessages.js +201 -0
- package/dist/src/processMessages.js.map +1 -0
- package/dist/src/proposal.d.ts +97 -0
- package/dist/src/proposal.d.ts.map +1 -0
- package/dist/src/proposal.js +96 -0
- package/dist/src/proposal.js.map +1 -0
- package/dist/src/proposalOrRefType.d.ts +25 -0
- package/dist/src/proposalOrRefType.d.ts.map +1 -0
- package/dist/src/proposalOrRefType.js +35 -0
- package/dist/src/proposalOrRefType.js.map +1 -0
- package/dist/src/proposalType.d.ts +15 -0
- package/dist/src/proposalType.js +19 -0
- package/dist/src/proposalType.js.map +1 -0
- package/dist/src/protectMessages.d.ts +20 -0
- package/dist/src/protectMessages.js +116 -0
- package/dist/src/protectMessages.js.map +1 -0
- package/dist/src/protocolVersion.d.ts +9 -0
- package/dist/src/protocolVersion.d.ts.map +1 -0
- package/dist/src/protocolVersion.js +13 -0
- package/dist/src/protocolVersion.js.map +1 -0
- package/dist/src/pskIndex.d.ts +7 -0
- package/dist/src/pskIndex.d.ts.map +1 -0
- package/dist/src/pskIndex.js +22 -0
- package/dist/src/pskIndex.js.map +1 -0
- package/dist/src/publicMessage.d.ts +29 -0
- package/dist/src/publicMessage.d.ts.map +1 -0
- package/dist/src/publicMessage.js +78 -0
- package/dist/src/publicMessage.js.map +1 -0
- package/dist/src/ratchetTree.d.ts +46 -0
- package/dist/src/ratchetTree.d.ts.map +1 -0
- package/dist/src/ratchetTree.js +276 -0
- package/dist/src/ratchetTree.js.map +1 -0
- package/dist/src/requiredCapabilites.d.ts +12 -0
- package/dist/src/requiredCapabilites.js +12 -0
- package/dist/src/requiredCapabilites.js.map +1 -0
- package/dist/src/requiredCapabilities.d.ts +10 -0
- package/dist/src/requiredCapabilities.d.ts.map +1 -0
- package/dist/src/requiredCapabilities.js +11 -0
- package/dist/src/requiredCapabilities.js.map +1 -0
- package/dist/src/resumption.d.ts +18 -0
- package/dist/src/resumption.d.ts.map +1 -0
- package/dist/src/resumption.js +82 -0
- package/dist/src/resumption.js.map +1 -0
- package/dist/src/secretTree.d.ts +29 -0
- package/dist/src/secretTree.d.ts.map +1 -0
- package/dist/src/secretTree.js +146 -0
- package/dist/src/secretTree.js.map +1 -0
- package/dist/src/sender.d.ts +56 -0
- package/dist/src/sender.d.ts.map +1 -0
- package/dist/src/sender.js +91 -0
- package/dist/src/sender.js.map +1 -0
- package/dist/src/transcriptHash.d.ts +14 -0
- package/dist/src/transcriptHash.d.ts.map +1 -0
- package/dist/src/transcriptHash.js +28 -0
- package/dist/src/transcriptHash.js.map +1 -0
- package/dist/src/treeHash.d.ts +27 -0
- package/dist/src/treeHash.d.ts.map +1 -0
- package/dist/src/treeHash.js +76 -0
- package/dist/src/treeHash.js.map +1 -0
- package/dist/src/treemath.d.ts +14 -0
- package/dist/src/treemath.d.ts.map +1 -0
- package/dist/src/treemath.js +103 -0
- package/dist/src/treemath.js.map +1 -0
- package/dist/src/unappliedProposals.d.ts +7 -0
- package/dist/src/unappliedProposals.d.ts.map +1 -0
- package/dist/src/unappliedProposals.js +12 -0
- package/dist/src/unappliedProposals.js.map +1 -0
- package/dist/src/updatePath.d.ts +34 -0
- package/dist/src/updatePath.d.ts.map +1 -0
- package/dist/src/updatePath.js +170 -0
- package/dist/src/updatePath.js.map +1 -0
- package/dist/src/util/addToMap.d.ts +1 -0
- package/dist/src/util/addToMap.d.ts.map +1 -0
- package/dist/src/util/addToMap.js +9 -0
- package/dist/src/util/addToMap.js.map +1 -0
- package/dist/src/util/array.d.ts +2 -0
- package/dist/src/util/array.d.ts.map +1 -0
- package/dist/src/util/array.js +13 -0
- package/dist/src/util/array.js.map +1 -0
- package/dist/src/util/byteArray.d.ts +3 -0
- package/dist/src/util/byteArray.d.ts.map +1 -0
- package/dist/src/util/byteArray.js +32 -0
- package/dist/src/util/byteArray.js.map +1 -0
- package/dist/src/util/constantTimeCompare.d.ts +1 -0
- package/dist/src/util/constantTimeCompare.d.ts.map +1 -0
- package/dist/src/util/constantTimeCompare.js +13 -0
- package/dist/src/util/constantTimeCompare.js.map +1 -0
- package/dist/src/util/enumHelpers.d.ts +4 -0
- package/dist/src/util/enumHelpers.d.ts.map +1 -0
- package/dist/src/util/enumHelpers.js +34 -0
- package/dist/src/util/enumHelpers.js.map +1 -0
- package/dist/src/util/repeat.d.ts +1 -0
- package/dist/src/util/repeat.d.ts.map +1 -0
- package/dist/src/util/repeat.js +11 -0
- package/dist/src/util/repeat.js.map +1 -0
- package/dist/src/welcome.d.ts +29 -0
- package/dist/src/welcome.d.ts.map +1 -0
- package/dist/src/welcome.js +55 -0
- package/dist/src/welcome.js.map +1 -0
- package/dist/src/wireformat.d.ts +13 -0
- package/dist/src/wireformat.d.ts.map +1 -0
- package/dist/src/wireformat.js +18 -0
- package/dist/src/wireformat.js.map +1 -0
- package/dist/test/base64.test.d.ts +1 -0
- package/dist/test/base64.test.d.ts.map +1 -0
- package/dist/test/base64.test.js +69 -0
- package/dist/test/base64.test.js.map +1 -0
- package/dist/test/codec/authenticatedContent.test.d.ts +1 -0
- package/dist/test/codec/authenticatedContent.test.d.ts.map +1 -0
- package/dist/test/codec/authenticatedContent.test.js +40 -0
- package/dist/test/codec/authenticatedContent.test.js.map +1 -0
- package/dist/test/codec/capabilities.test.d.ts +1 -0
- package/dist/test/codec/capabilities.test.d.ts.map +1 -0
- package/dist/test/codec/capabilities.test.js +28 -0
- package/dist/test/codec/capabilities.test.js.map +1 -0
- package/dist/test/codec/commit.test.d.ts +1 -0
- package/dist/test/codec/commit.test.d.ts.map +1 -0
- package/dist/test/codec/commit.test.js +17 -0
- package/dist/test/codec/commit.test.js.map +1 -0
- package/dist/test/codec/composite.test.d.ts +1 -0
- package/dist/test/codec/composite.test.d.ts.map +1 -0
- package/dist/test/codec/composite.test.js +63 -0
- package/dist/test/codec/composite.test.js.map +1 -0
- package/dist/test/codec/contentType.test.d.ts +1 -0
- package/dist/test/codec/contentType.test.d.ts.map +1 -0
- package/dist/test/codec/contentType.test.js +14 -0
- package/dist/test/codec/contentType.test.js.map +1 -0
- package/dist/test/codec/credential.test.d.ts +1 -0
- package/dist/test/codec/credential.test.d.ts.map +1 -0
- package/dist/test/codec/credential.test.js +19 -0
- package/dist/test/codec/credential.test.js.map +1 -0
- package/dist/test/codec/credentialType.test.d.ts +1 -0
- package/dist/test/codec/credentialType.test.d.ts.map +1 -0
- package/dist/test/codec/credentialType.test.js +14 -0
- package/dist/test/codec/credentialType.test.js.map +1 -0
- package/dist/test/codec/encryptedGroupSecrets.test.d.ts +1 -0
- package/dist/test/codec/encryptedGroupSecrets.test.d.ts.map +1 -0
- package/dist/test/codec/encryptedGroupSecrets.test.js +20 -0
- package/dist/test/codec/encryptedGroupSecrets.test.js.map +1 -0
- package/dist/test/codec/extension.test.d.ts +1 -0
- package/dist/test/codec/extension.test.d.ts.map +1 -0
- package/dist/test/codec/extension.test.js +22 -0
- package/dist/test/codec/extension.test.js.map +1 -0
- package/dist/test/codec/extensionType.test.d.ts +1 -0
- package/dist/test/codec/extensionType.test.d.ts.map +1 -0
- package/dist/test/codec/extensionType.test.js +14 -0
- package/dist/test/codec/extensionType.test.js.map +1 -0
- package/dist/test/codec/externalSender.test.d.ts +1 -0
- package/dist/test/codec/externalSender.test.d.ts.map +1 -0
- package/dist/test/codec/externalSender.test.js +22 -0
- package/dist/test/codec/externalSender.test.js.map +1 -0
- package/dist/test/codec/framedContent.test.d.ts +1 -0
- package/dist/test/codec/framedContent.test.d.ts.map +1 -0
- package/dist/test/codec/framedContent.test.js +28 -0
- package/dist/test/codec/framedContent.test.js.map +1 -0
- package/dist/test/codec/groupContext.test.d.ts +1 -0
- package/dist/test/codec/groupContext.test.d.ts.map +1 -0
- package/dist/test/codec/groupContext.test.js +32 -0
- package/dist/test/codec/groupContext.test.js.map +1 -0
- package/dist/test/codec/groupInfo.test.d.ts +1 -0
- package/dist/test/codec/groupInfo.test.d.ts.map +1 -0
- package/dist/test/codec/groupInfo.test.js +47 -0
- package/dist/test/codec/groupInfo.test.js.map +1 -0
- package/dist/test/codec/groupSecrets.test.d.ts +1 -0
- package/dist/test/codec/groupSecrets.test.d.ts.map +1 -0
- package/dist/test/codec/groupSecrets.test.js +18 -0
- package/dist/test/codec/groupSecrets.test.js.map +1 -0
- package/dist/test/codec/hpkeCiphertext.test.d.ts +1 -0
- package/dist/test/codec/hpkeCiphertext.test.d.ts.map +1 -0
- package/dist/test/codec/hpkeCiphertext.test.js +15 -0
- package/dist/test/codec/hpkeCiphertext.test.js.map +1 -0
- package/dist/test/codec/keyPackage.test.d.ts +1 -0
- package/dist/test/codec/keyPackage.test.d.ts.map +1 -0
- package/dist/test/codec/keyPackage.test.js +60 -0
- package/dist/test/codec/keyPackage.test.js.map +1 -0
- package/dist/test/codec/keyPackageTBS.test.d.ts +1 -0
- package/dist/test/codec/keyPackageTBS.test.d.ts.map +1 -0
- package/dist/test/codec/keyPackageTBS.test.js +61 -0
- package/dist/test/codec/keyPackageTBS.test.js.map +1 -0
- package/dist/test/codec/leafNode.test.d.ts +1 -0
- package/dist/test/codec/leafNode.test.d.ts.map +1 -0
- package/dist/test/codec/leafNode.test.js +45 -0
- package/dist/test/codec/leafNode.test.js.map +1 -0
- package/dist/test/codec/leafNodeData.test.d.ts +1 -0
- package/dist/test/codec/leafNodeData.test.d.ts.map +1 -0
- package/dist/test/codec/leafNodeData.test.js +38 -0
- package/dist/test/codec/leafNodeData.test.js.map +1 -0
- package/dist/test/codec/leafNodeSource.test.d.ts +1 -0
- package/dist/test/codec/leafNodeSource.test.d.ts.map +1 -0
- package/dist/test/codec/leafNodeSource.test.js +17 -0
- package/dist/test/codec/leafNodeSource.test.js.map +1 -0
- package/dist/test/codec/lifetime.test.d.ts +1 -0
- package/dist/test/codec/lifetime.test.d.ts.map +1 -0
- package/dist/test/codec/lifetime.test.js +14 -0
- package/dist/test/codec/lifetime.test.js.map +1 -0
- package/dist/test/codec/message.test.d.ts +1 -0
- package/dist/test/codec/message.test.d.ts.map +1 -0
- package/dist/test/codec/message.test.js +102 -0
- package/dist/test/codec/message.test.js.map +1 -0
- package/dist/test/codec/nodeType.test.d.ts +1 -0
- package/dist/test/codec/nodeType.test.d.ts.map +1 -0
- package/dist/test/codec/nodeType.test.js +14 -0
- package/dist/test/codec/nodeType.test.js.map +1 -0
- package/dist/test/codec/number.test.d.ts +1 -0
- package/dist/test/codec/number.test.d.ts.map +1 -0
- package/dist/test/codec/number.test.js +76 -0
- package/dist/test/codec/number.test.js.map +1 -0
- package/dist/test/codec/optional.test.d.ts +1 -0
- package/dist/test/codec/optional.test.d.ts.map +1 -0
- package/dist/test/codec/optional.test.js +44 -0
- package/dist/test/codec/optional.test.js.map +1 -0
- package/dist/test/codec/padding.test.d.ts +1 -0
- package/dist/test/codec/padding.test.d.ts.map +1 -0
- package/dist/test/codec/padding.test.js +42 -0
- package/dist/test/codec/padding.test.js.map +1 -0
- package/dist/test/codec/parentHash.test.d.ts +1 -0
- package/dist/test/codec/parentHash.test.d.ts.map +1 -0
- package/dist/test/codec/parentHash.test.js +15 -0
- package/dist/test/codec/parentHash.test.js.map +1 -0
- package/dist/test/codec/parentNode.test.d.ts +1 -0
- package/dist/test/codec/parentNode.test.d.ts.map +1 -0
- package/dist/test/codec/parentNode.test.js +24 -0
- package/dist/test/codec/parentNode.test.js.map +1 -0
- package/dist/test/codec/presharedkey.test.d.ts +1 -0
- package/dist/test/codec/presharedkey.test.d.ts.map +1 -0
- package/dist/test/codec/presharedkey.test.js +37 -0
- package/dist/test/codec/presharedkey.test.js.map +1 -0
- package/dist/test/codec/privateContentAAD.test.d.ts +1 -0
- package/dist/test/codec/privateContentAAD.test.d.ts.map +1 -0
- package/dist/test/codec/privateContentAAD.test.js +32 -0
- package/dist/test/codec/privateContentAAD.test.js.map +1 -0
- package/dist/test/codec/privateMessage.test.d.ts +1 -0
- package/dist/test/codec/privateMessage.test.d.ts.map +1 -0
- package/dist/test/codec/privateMessage.test.js +38 -0
- package/dist/test/codec/privateMessage.test.js.map +1 -0
- package/dist/test/codec/proposal.test.d.ts +1 -0
- package/dist/test/codec/proposal.test.d.ts.map +1 -0
- package/dist/test/codec/proposal.test.js +46 -0
- package/dist/test/codec/proposal.test.js.map +1 -0
- package/dist/test/codec/proposalOrRef.test.d.ts +1 -0
- package/dist/test/codec/proposalOrRef.test.d.ts.map +1 -0
- package/dist/test/codec/proposalOrRef.test.js +14 -0
- package/dist/test/codec/proposalOrRef.test.js.map +1 -0
- package/dist/test/codec/proposalOrRefType.test.d.ts +1 -0
- package/dist/test/codec/proposalOrRefType.test.d.ts.map +1 -0
- package/dist/test/codec/proposalOrRefType.test.js +14 -0
- package/dist/test/codec/proposalOrRefType.test.js.map +1 -0
- package/dist/test/codec/proposalType.test.d.ts +1 -0
- package/dist/test/codec/proposalType.test.d.ts.map +1 -0
- package/dist/test/codec/proposalType.test.js +14 -0
- package/dist/test/codec/proposalType.test.js.map +1 -0
- package/dist/test/codec/protocolVersion.test.d.ts +1 -0
- package/dist/test/codec/protocolVersion.test.d.ts.map +1 -0
- package/dist/test/codec/protocolVersion.test.js +11 -0
- package/dist/test/codec/protocolVersion.test.js.map +1 -0
- package/dist/test/codec/pskId.test.d.ts +1 -0
- package/dist/test/codec/pskId.test.d.ts.map +1 -0
- package/dist/test/codec/pskId.test.js +20 -0
- package/dist/test/codec/pskId.test.js.map +1 -0
- package/dist/test/codec/pskInfo.test.d.ts +1 -0
- package/dist/test/codec/pskInfo.test.d.ts.map +1 -0
- package/dist/test/codec/pskInfo.test.js +14 -0
- package/dist/test/codec/pskInfo.test.js.map +1 -0
- package/dist/test/codec/pskLabel.test.d.ts +1 -0
- package/dist/test/codec/pskLabel.test.d.ts.map +1 -0
- package/dist/test/codec/pskLabel.test.js +28 -0
- package/dist/test/codec/pskLabel.test.js.map +1 -0
- package/dist/test/codec/pskType.test.d.ts +1 -0
- package/dist/test/codec/pskType.test.d.ts.map +1 -0
- package/dist/test/codec/pskType.test.js +14 -0
- package/dist/test/codec/pskType.test.js.map +1 -0
- package/dist/test/codec/publicMessage.test.d.ts +1 -0
- package/dist/test/codec/publicMessage.test.d.ts.map +1 -0
- package/dist/test/codec/publicMessage.test.js +41 -0
- package/dist/test/codec/publicMessage.test.js.map +1 -0
- package/dist/test/codec/ratchetTree.test.d.ts +1 -0
- package/dist/test/codec/ratchetTree.test.d.ts.map +1 -0
- package/dist/test/codec/ratchetTree.test.js +85 -0
- package/dist/test/codec/ratchetTree.test.js.map +1 -0
- package/dist/test/codec/requiredCapabilities.test.d.ts +1 -0
- package/dist/test/codec/requiredCapabilities.test.d.ts.map +1 -0
- package/dist/test/codec/requiredCapabilities.test.js +32 -0
- package/dist/test/codec/requiredCapabilities.test.js.map +1 -0
- package/dist/test/codec/resumptionPSKUsage.test.d.ts +1 -0
- package/dist/test/codec/resumptionPSKUsage.test.d.ts.map +1 -0
- package/dist/test/codec/resumptionPSKUsage.test.js +17 -0
- package/dist/test/codec/resumptionPSKUsage.test.js.map +1 -0
- package/dist/test/codec/reuseGuard.test.d.ts +1 -0
- package/dist/test/codec/reuseGuard.test.d.ts.map +1 -0
- package/dist/test/codec/reuseGuard.test.js +11 -0
- package/dist/test/codec/reuseGuard.test.js.map +1 -0
- package/dist/test/codec/roundtrip.d.ts +3 -0
- package/dist/test/codec/roundtrip.d.ts.map +1 -0
- package/dist/test/codec/roundtrip.js +11 -0
- package/dist/test/codec/roundtrip.js.map +1 -0
- package/dist/test/codec/sender.test.d.ts +1 -0
- package/dist/test/codec/sender.test.d.ts.map +1 -0
- package/dist/test/codec/sender.test.js +20 -0
- package/dist/test/codec/sender.test.js.map +1 -0
- package/dist/test/codec/senderData.test.d.ts +1 -0
- package/dist/test/codec/senderData.test.d.ts.map +1 -0
- package/dist/test/codec/senderData.test.js +14 -0
- package/dist/test/codec/senderData.test.js.map +1 -0
- package/dist/test/codec/senderDataAAD.test.d.ts +1 -0
- package/dist/test/codec/senderDataAAD.test.d.ts.map +1 -0
- package/dist/test/codec/senderDataAAD.test.js +14 -0
- package/dist/test/codec/senderDataAAD.test.js.map +1 -0
- package/dist/test/codec/senderType.test.d.ts +1 -0
- package/dist/test/codec/senderType.test.d.ts.map +1 -0
- package/dist/test/codec/senderType.test.js +20 -0
- package/dist/test/codec/senderType.test.js.map +1 -0
- package/dist/test/codec/transcriptHash.test.d.ts +1 -0
- package/dist/test/codec/transcriptHash.test.d.ts.map +1 -0
- package/dist/test/codec/transcriptHash.test.js +40 -0
- package/dist/test/codec/transcriptHash.test.js.map +1 -0
- package/dist/test/codec/treeHash.test.d.ts +1 -0
- package/dist/test/codec/treeHash.test.d.ts.map +1 -0
- package/dist/test/codec/treeHash.test.js +19 -0
- package/dist/test/codec/treeHash.test.js.map +1 -0
- package/dist/test/codec/updatePath.test.d.ts +1 -0
- package/dist/test/codec/updatePath.test.d.ts.map +1 -0
- package/dist/test/codec/updatePath.test.js +83 -0
- package/dist/test/codec/updatePath.test.js.map +1 -0
- package/dist/test/codec/updatePathNode.test.d.ts +1 -0
- package/dist/test/codec/updatePathNode.test.d.ts.map +1 -0
- package/dist/test/codec/updatePathNode.test.js +25 -0
- package/dist/test/codec/updatePathNode.test.js.map +1 -0
- package/dist/test/codec/varLengthEncoding.test.d.ts +1 -0
- package/dist/test/codec/varLengthEncoding.test.d.ts.map +1 -0
- package/dist/test/codec/varLengthEncoding.test.js +92 -0
- package/dist/test/codec/varLengthEncoding.test.js.map +1 -0
- package/dist/test/codec/welcome.test.d.ts +1 -0
- package/dist/test/codec/welcome.test.d.ts.map +1 -0
- package/dist/test/codec/welcome.test.js +27 -0
- package/dist/test/codec/welcome.test.js.map +1 -0
- package/dist/test/codec/wireformat.test.d.ts +1 -0
- package/dist/test/codec/wireformat.test.d.ts.map +1 -0
- package/dist/test/codec/wireformat.test.js +23 -0
- package/dist/test/codec/wireformat.test.js.map +1 -0
- package/dist/test/crypto/aead.test.d.ts +1 -0
- package/dist/test/crypto/aead.test.d.ts.map +1 -0
- package/dist/test/crypto/aead.test.js +46 -0
- package/dist/test/crypto/aead.test.js.map +1 -0
- package/dist/test/crypto/hpke.test.d.ts +1 -0
- package/dist/test/crypto/hpke.test.d.ts.map +1 -0
- package/dist/test/crypto/hpke.test.js +60 -0
- package/dist/test/crypto/hpke.test.js.map +1 -0
- package/dist/test/crypto/keyMatch.d.ts +7 -0
- package/dist/test/crypto/keyMatch.d.ts.map +1 -0
- package/dist/test/crypto/keyMatch.js +27 -0
- package/dist/test/crypto/keyMatch.js.map +1 -0
- package/dist/test/extensionsEqual.test.d.ts +1 -0
- package/dist/test/extensionsEqual.test.d.ts.map +1 -0
- package/dist/test/extensionsEqual.test.js +53 -0
- package/dist/test/extensionsEqual.test.js.map +1 -0
- package/dist/test/groupinfo.test.d.ts +1 -0
- package/dist/test/groupinfo.test.d.ts.map +1 -0
- package/dist/test/groupinfo.test.js +42 -0
- package/dist/test/groupinfo.test.js.map +1 -0
- package/dist/test/scenario/common.d.ts +8 -0
- package/dist/test/scenario/common.d.ts.map +1 -0
- package/dist/test/scenario/common.js +47 -0
- package/dist/test/scenario/common.js.map +1 -0
- package/dist/test/scenario/customCredentials.test.d.ts +1 -0
- package/dist/test/scenario/customCredentials.test.js +3 -0
- package/dist/test/scenario/customCredentials.test.js.map +1 -0
- package/dist/test/scenario/customExtensions.test.d.ts +1 -0
- package/dist/test/scenario/customExtensions.test.d.ts.map +1 -0
- package/dist/test/scenario/customExtensions.test.js +58 -0
- package/dist/test/scenario/customExtensions.test.js.map +1 -0
- package/dist/test/scenario/customProposal.test.d.ts +1 -0
- package/dist/test/scenario/customProposal.test.d.ts.map +1 -0
- package/dist/test/scenario/customProposal.test.js +73 -0
- package/dist/test/scenario/customProposal.test.js.map +1 -0
- package/dist/test/scenario/epochOutOfOrder.test.d.ts +1 -0
- package/dist/test/scenario/epochOutOfOrder.test.d.ts.map +1 -0
- package/dist/test/scenario/epochOutOfOrder.test.js +164 -0
- package/dist/test/scenario/epochOutOfOrder.test.js.map +1 -0
- package/dist/test/scenario/externalAddProposal.test.d.ts +1 -0
- package/dist/test/scenario/externalAddProposal.test.d.ts.map +1 -0
- package/dist/test/scenario/externalAddProposal.test.js +71 -0
- package/dist/test/scenario/externalAddProposal.test.js.map +1 -0
- package/dist/test/scenario/externalJoin.test.d.ts +1 -0
- package/dist/test/scenario/externalJoin.test.d.ts.map +1 -0
- package/dist/test/scenario/externalJoin.test.js +53 -0
- package/dist/test/scenario/externalJoin.test.js.map +1 -0
- package/dist/test/scenario/externalJoinResync.test.d.ts +1 -0
- package/dist/test/scenario/externalJoinResync.test.d.ts.map +1 -0
- package/dist/test/scenario/externalJoinResync.test.js +61 -0
- package/dist/test/scenario/externalJoinResync.test.js.map +1 -0
- package/dist/test/scenario/externalProposal.test.d.ts +1 -0
- package/dist/test/scenario/externalProposal.test.d.ts.map +1 -0
- package/dist/test/scenario/externalProposal.test.js +71 -0
- package/dist/test/scenario/externalProposal.test.js.map +1 -0
- package/dist/test/scenario/externalPsk.test.d.ts +1 -0
- package/dist/test/scenario/externalPsk.test.d.ts.map +1 -0
- package/dist/test/scenario/externalPsk.test.js +75 -0
- package/dist/test/scenario/externalPsk.test.js.map +1 -0
- package/dist/test/scenario/externalPskJoin.test.d.ts +1 -0
- package/dist/test/scenario/externalPskJoin.test.d.ts.map +1 -0
- package/dist/test/scenario/externalPskJoin.test.js +53 -0
- package/dist/test/scenario/externalPskJoin.test.js.map +1 -0
- package/dist/test/scenario/generationOutOfOrder.test.d.ts +1 -0
- package/dist/test/scenario/generationOutOfOrder.test.d.ts.map +1 -0
- package/dist/test/scenario/generationOutOfOrder.test.js +113 -0
- package/dist/test/scenario/generationOutOfOrder.test.js.map +1 -0
- package/dist/test/scenario/grease.test.d.ts +1 -0
- package/dist/test/scenario/grease.test.d.ts.map +1 -0
- package/dist/test/scenario/grease.test.js +46 -0
- package/dist/test/scenario/grease.test.js.map +1 -0
- package/dist/test/scenario/largeGroupFullLifecycle.test.d.ts +1 -0
- package/dist/test/scenario/largeGroupFullLifecycle.test.d.ts.map +1 -0
- package/dist/test/scenario/largeGroupFullLifecycle.test.js +129 -0
- package/dist/test/scenario/largeGroupFullLifecycle.test.js.map +1 -0
- package/dist/test/scenario/leaveProposal.test.d.ts +1 -0
- package/dist/test/scenario/leaveProposal.test.d.ts.map +1 -0
- package/dist/test/scenario/leaveProposal.test.js +79 -0
- package/dist/test/scenario/leaveProposal.test.js.map +1 -0
- package/dist/test/scenario/multipleJoinsAtOnce.test.d.ts +1 -0
- package/dist/test/scenario/multipleJoinsAtOnce.test.d.ts.map +1 -0
- package/dist/test/scenario/multipleJoinsAtOnce.test.js +50 -0
- package/dist/test/scenario/multipleJoinsAtOnce.test.js.map +1 -0
- package/dist/test/scenario/oneToOneJoin.test.d.ts +1 -0
- package/dist/test/scenario/oneToOneJoin.test.d.ts.map +1 -0
- package/dist/test/scenario/oneToOneJoin.test.js +100 -0
- package/dist/test/scenario/oneToOneJoin.test.js.map +1 -0
- package/dist/test/scenario/processMessage.d.ts +1 -0
- package/dist/test/scenario/processMessage.js +3 -0
- package/dist/test/scenario/processMessage.js.map +1 -0
- package/dist/test/scenario/ratchetTreeExtension.test.d.ts +1 -0
- package/dist/test/scenario/ratchetTreeExtension.test.d.ts.map +1 -0
- package/dist/test/scenario/ratchetTreeExtension.test.js +50 -0
- package/dist/test/scenario/ratchetTreeExtension.test.js.map +1 -0
- package/dist/test/scenario/reinit.test.d.ts +1 -0
- package/dist/test/scenario/reinit.test.d.ts.map +1 -0
- package/dist/test/scenario/reinit.test.js +59 -0
- package/dist/test/scenario/reinit.test.js.map +1 -0
- package/dist/test/scenario/rejectIncomingMessage.test.d.ts +1 -0
- package/dist/test/scenario/rejectIncomingMessage.test.d.ts.map +1 -0
- package/dist/test/scenario/rejectIncomingMessage.test.js +69 -0
- package/dist/test/scenario/rejectIncomingMessage.test.js.map +1 -0
- package/dist/test/scenario/remove.test.d.ts +1 -0
- package/dist/test/scenario/remove.test.d.ts.map +1 -0
- package/dist/test/scenario/remove.test.js +70 -0
- package/dist/test/scenario/remove.test.js.map +1 -0
- package/dist/test/scenario/requiredCapabilites.test.d.ts +1 -0
- package/dist/test/scenario/requiredCapabilites.test.d.ts.map +1 -0
- package/dist/test/scenario/requiredCapabilites.test.js +67 -0
- package/dist/test/scenario/requiredCapabilites.test.js.map +1 -0
- package/dist/test/scenario/resumption.test.d.ts +1 -0
- package/dist/test/scenario/resumption.test.d.ts.map +1 -0
- package/dist/test/scenario/resumption.test.js +45 -0
- package/dist/test/scenario/resumption.test.js.map +1 -0
- package/dist/test/scenario/threePartyJoin.test.d.ts +1 -0
- package/dist/test/scenario/threePartyJoin.test.d.ts.map +1 -0
- package/dist/test/scenario/threePartyJoin.test.js +58 -0
- package/dist/test/scenario/threePartyJoin.test.js.map +1 -0
- package/dist/test/scenario/update.test.d.ts +1 -0
- package/dist/test/scenario/update.test.d.ts.map +1 -0
- package/dist/test/scenario/update.test.js +52 -0
- package/dist/test/scenario/update.test.js.map +1 -0
- package/dist/test/test-vectors/cryptoBasics.test.d.ts +1 -0
- package/dist/test/test-vectors/cryptoBasics.test.d.ts.map +1 -0
- package/dist/test/test-vectors/cryptoBasics.test.js +65 -0
- package/dist/test/test-vectors/cryptoBasics.test.js.map +1 -0
- package/dist/test/test-vectors/deserialization.test.d.ts +1 -0
- package/dist/test/test-vectors/deserialization.test.d.ts.map +1 -0
- package/dist/test/test-vectors/deserialization.test.js +18 -0
- package/dist/test/test-vectors/deserialization.test.js.map +1 -0
- package/dist/test/test-vectors/keySchedule.test.d.ts +1 -0
- package/dist/test/test-vectors/keySchedule.test.d.ts.map +1 -0
- package/dist/test/test-vectors/keySchedule.test.js +53 -0
- package/dist/test/test-vectors/keySchedule.test.js.map +1 -0
- package/dist/test/test-vectors/messageProtection.test.d.ts +1 -0
- package/dist/test/test-vectors/messageProtection.test.d.ts.map +1 -0
- package/dist/test/test-vectors/messageProtection.test.js +220 -0
- package/dist/test/test-vectors/messageProtection.test.js.map +1 -0
- package/dist/test/test-vectors/messages.test.d.ts +1 -0
- package/dist/test/test-vectors/messages.test.d.ts.map +1 -0
- package/dist/test/test-vectors/messages.test.js +141 -0
- package/dist/test/test-vectors/messages.test.js.map +1 -0
- package/dist/test/test-vectors/passiveClientScenarios.test.d.ts +1 -0
- package/dist/test/test-vectors/passiveClientScenarios.test.d.ts.map +1 -0
- package/dist/test/test-vectors/passiveClientScenarios.test.js +91 -0
- package/dist/test/test-vectors/passiveClientScenarios.test.js.map +1 -0
- package/dist/test/test-vectors/pskSecret.test.d.ts +1 -0
- package/dist/test/test-vectors/pskSecret.test.d.ts.map +1 -0
- package/dist/test/test-vectors/pskSecret.test.js +23 -0
- package/dist/test/test-vectors/pskSecret.test.js.map +1 -0
- package/dist/test/test-vectors/secretTree.test.d.ts +1 -0
- package/dist/test/test-vectors/secretTree.test.d.ts.map +1 -0
- package/dist/test/test-vectors/secretTree.test.js +53 -0
- package/dist/test/test-vectors/secretTree.test.js.map +1 -0
- package/dist/test/test-vectors/transcriptHashes.test.d.ts +1 -0
- package/dist/test/test-vectors/transcriptHashes.test.d.ts.map +1 -0
- package/dist/test/test-vectors/transcriptHashes.test.js +31 -0
- package/dist/test/test-vectors/transcriptHashes.test.js.map +1 -0
- package/dist/test/test-vectors/treeOperations.test.d.ts +1 -0
- package/dist/test/test-vectors/treeOperations.test.d.ts.map +1 -0
- package/dist/test/test-vectors/treeOperations.test.js +50 -0
- package/dist/test/test-vectors/treeOperations.test.js.map +1 -0
- package/dist/test/test-vectors/treeValidation.test.d.ts +1 -0
- package/dist/test/test-vectors/treeValidation.test.d.ts.map +1 -0
- package/dist/test/test-vectors/treeValidation.test.js +41 -0
- package/dist/test/test-vectors/treeValidation.test.js.map +1 -0
- package/dist/test/test-vectors/treekem.test.d.ts +1 -0
- package/dist/test/test-vectors/treekem.test.d.ts.map +1 -0
- package/dist/test/test-vectors/treekem.test.js +105 -0
- package/dist/test/test-vectors/treekem.test.js.map +1 -0
- package/dist/test/test-vectors/treemath.test.d.ts +1 -0
- package/dist/test/test-vectors/treemath.test.d.ts.map +1 -0
- package/dist/test/test-vectors/treemath.test.js +60 -0
- package/dist/test/test-vectors/treemath.test.js.map +1 -0
- package/dist/test/test-vectors/welcome.test.d.ts +1 -0
- package/dist/test/test-vectors/welcome.test.d.ts.map +1 -0
- package/dist/test/test-vectors/welcome.test.js +45 -0
- package/dist/test/test-vectors/welcome.test.js.map +1 -0
- package/dist/test/validation/byteArrayValidation.test.d.ts +1 -0
- package/dist/test/validation/byteArrayValidation.test.js +76 -0
- package/dist/test/validation/byteArrayValidation.test.js.map +1 -0
- package/dist/test/validation/clientStateComprehensiveValidation.test.d.ts +1 -0
- package/dist/test/validation/clientStateComprehensiveValidation.test.js +280 -0
- package/dist/test/validation/clientStateComprehensiveValidation.test.js.map +1 -0
- package/dist/test/validation/clientStateExtendedValidation.test.d.ts +1 -0
- package/dist/test/validation/clientStateExtendedValidation.test.js +376 -0
- package/dist/test/validation/clientStateExtendedValidation.test.js.map +1 -0
- package/dist/test/validation/clientStateValidation.test.d.ts +1 -0
- package/dist/test/validation/clientStateValidation.test.js +190 -0
- package/dist/test/validation/clientStateValidation.test.js.map +1 -0
- package/dist/test/validation/errorHandlingValidation.test.d.ts +1 -0
- package/dist/test/validation/errorHandlingValidation.test.js +92 -0
- package/dist/test/validation/errorHandlingValidation.test.js.map +1 -0
- package/dist/test/validation/extensionValidation.test.d.ts +1 -0
- package/dist/test/validation/extensionValidation.test.js +120 -0
- package/dist/test/validation/extensionValidation.test.js.map +1 -0
- package/dist/test/validation/greaseValidation.test.d.ts +1 -0
- package/dist/test/validation/greaseValidation.test.js +136 -0
- package/dist/test/validation/greaseValidation.test.js.map +1 -0
- package/dist/test/validation/index.test.d.ts +5 -0
- package/dist/test/validation/index.test.js +19 -0
- package/dist/test/validation/index.test.js.map +1 -0
- package/dist/test/validation/mlsErrorValidation.test.d.ts +1 -0
- package/dist/test/validation/mlsErrorValidation.test.js +92 -0
- package/dist/test/validation/mlsErrorValidation.test.js.map +1 -0
- package/dist/test/validation/proposalValidation.test.d.ts +1 -0
- package/dist/test/validation/proposalValidation.test.d.ts.map +1 -0
- package/dist/test/validation/proposalValidation.test.js +233 -0
- package/dist/test/validation/proposalValidation.test.js.map +1 -0
- package/dist/test/validation/ratchetTreeValidation.test.d.ts +1 -0
- package/dist/test/validation/ratchetTreeValidation.test.d.ts.map +1 -0
- package/dist/test/validation/ratchetTreeValidation.test.js +53 -0
- package/dist/test/validation/ratchetTreeValidation.test.js.map +1 -0
- package/dist/test/validation/resumptionValidation.test.d.ts +1 -0
- package/dist/test/validation/resumptionValidation.test.d.ts.map +1 -0
- package/dist/test/validation/resumptionValidation.test.js +81 -0
- package/dist/test/validation/resumptionValidation.test.js.map +1 -0
- package/dist/test/validation/utilityValidation.test.d.ts +1 -0
- package/dist/test/validation/utilityValidation.test.js +71 -0
- package/dist/test/validation/utilityValidation.test.js.map +1 -0
- package/dist/test_vectors/crypto-basics.json +303 -0
- package/dist/test_vectors/deserialization.json +58 -0
- package/dist/test_vectors/key-schedule.json +926 -0
- package/dist/test_vectors/message-protection.json +142 -0
- package/dist/test_vectors/messages.json +5702 -0
- package/dist/test_vectors/passive-client-handling-commit.json +2683 -0
- package/dist/test_vectors/passive-client-random.json +2657 -0
- package/dist/test_vectors/passive-client-welcome.json +814 -0
- package/dist/test_vectors/psk_secret.json +2382 -0
- package/dist/test_vectors/secret-tree.json +4846 -0
- package/dist/test_vectors/transcript-hashes.json +58 -0
- package/dist/test_vectors/tree-math.json +8156 -0
- package/dist/test_vectors/tree-operations.json +47 -0
- package/dist/test_vectors/tree-validation.json +6204 -0
- package/dist/test_vectors/treekem.json +14859 -0
- package/dist/test_vectors/welcome.json +51 -0
- package/dist/ts-mls.d.ts +781 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/dist/util/addToMap.d.ts +1 -0
- package/dist/util/addToMap.js +9 -0
- package/dist/util/addToMap.js.map +1 -0
- package/dist/util/array.d.ts +1 -0
- package/dist/util/array.js +7 -0
- package/dist/util/array.js.map +1 -0
- package/dist/util/byteArray.d.ts +3 -0
- package/dist/util/byteArray.js +32 -0
- package/dist/util/byteArray.js.map +1 -0
- package/dist/util/constantTimeCompare.d.ts +1 -0
- package/dist/util/constantTimeCompare.js +13 -0
- package/dist/util/constantTimeCompare.js.map +1 -0
- package/dist/util/enumHelpers.d.ts +4 -0
- package/dist/util/enumHelpers.js +34 -0
- package/dist/util/enumHelpers.js.map +1 -0
- package/dist/util/repeat.d.ts +1 -0
- package/dist/util/repeat.js +11 -0
- package/dist/util/repeat.js.map +1 -0
- package/package.json +108 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.proposeAddExternal = proposeAddExternal;
|
|
4
|
+
exports.proposeExternal = proposeExternal;
|
|
5
|
+
const extension_1 = require("./extension");
|
|
6
|
+
const externalSender_1 = require("./externalSender");
|
|
7
|
+
const messageProtectionPublic_1 = require("./messageProtectionPublic");
|
|
8
|
+
const mlsError_1 = require("./mlsError");
|
|
9
|
+
const constantTimeCompare_1 = require("./util/constantTimeCompare");
|
|
10
|
+
async function proposeAddExternal(groupInfo, keyPackage, privateKeyPackage, cs, authenticatedData = new Uint8Array()) {
|
|
11
|
+
const allExtensionsSupported = (0, extension_1.extensionsSupportedByCapabilities)(groupInfo.groupContext.extensions, keyPackage.leafNode.capabilities);
|
|
12
|
+
if (!allExtensionsSupported)
|
|
13
|
+
throw new mlsError_1.UsageError("client does not support every extension in the GroupContext");
|
|
14
|
+
const proposal = {
|
|
15
|
+
proposalType: "add",
|
|
16
|
+
add: {
|
|
17
|
+
keyPackage,
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
const result = await (0, messageProtectionPublic_1.protectExternalProposalPublic)(privateKeyPackage.signaturePrivateKey, groupInfo.groupContext, authenticatedData, proposal, { senderType: "new_member_proposal" }, cs);
|
|
21
|
+
return {
|
|
22
|
+
wireformat: "mls_public_message",
|
|
23
|
+
version: groupInfo.groupContext.version,
|
|
24
|
+
publicMessage: result.publicMessage,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
async function proposeExternal(groupInfo, proposal, signaturePublicKey, signaturePrivateKey, cs) {
|
|
28
|
+
const authenticatedData = new Uint8Array();
|
|
29
|
+
const externalSenderExtensionIndex = groupInfo.extensions.findIndex((ex) => {
|
|
30
|
+
if (ex.extensionType !== "external_senders")
|
|
31
|
+
return false;
|
|
32
|
+
const decoded = (0, externalSender_1.decodeExternalSender)(ex.extensionData, 0);
|
|
33
|
+
if (decoded === undefined)
|
|
34
|
+
throw new mlsError_1.ValidationError("Could not decode external_sender extension");
|
|
35
|
+
return (0, constantTimeCompare_1.constantTimeEqual)(decoded[0].signaturePublicKey, signaturePublicKey);
|
|
36
|
+
});
|
|
37
|
+
const result = await (0, messageProtectionPublic_1.protectExternalProposalPublic)(signaturePrivateKey, groupInfo.groupContext, authenticatedData, proposal, { senderType: "external", senderIndex: externalSenderExtensionIndex }, cs);
|
|
38
|
+
return {
|
|
39
|
+
wireformat: "mls_public_message",
|
|
40
|
+
version: groupInfo.groupContext.version,
|
|
41
|
+
publicMessage: result.publicMessage,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=externalProposal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"externalProposal.js","sourceRoot":"","sources":["../../src/externalProposal.ts"],"names":[],"mappings":";;AAWA,gDAkCC;AAED,0CAgCC;AA9ED,2CAA0E;AAC1E,qDAAuD;AAIvD,uEAAyE;AACzE,yCAAwD;AAExD,oEAA8D;AAEvD,KAAK,UAAU,kBAAkB,CACtC,SAAoB,EACpB,UAAsB,EACtB,iBAAoC,EACpC,EAAmB,EACnB,oBAAgC,IAAI,UAAU,EAAE;IAEhD,MAAM,sBAAsB,GAAG,IAAA,6CAAiC,EAC9D,SAAS,CAAC,YAAY,CAAC,UAAU,EACjC,UAAU,CAAC,QAAQ,CAAC,YAAY,CACjC,CAAA;IACD,IAAI,CAAC,sBAAsB;QAAE,MAAM,IAAI,qBAAU,CAAC,6DAA6D,CAAC,CAAA;IAEhH,MAAM,QAAQ,GAAa;QACzB,YAAY,EAAE,KAAK;QACnB,GAAG,EAAE;YACH,UAAU;SACX;KACF,CAAA;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,uDAA6B,EAChD,iBAAiB,CAAC,mBAAmB,EACrC,SAAS,CAAC,YAAY,EACtB,iBAAiB,EACjB,QAAQ,EACR,EAAE,UAAU,EAAE,qBAAqB,EAAE,EACrC,EAAE,CACH,CAAA;IAED,OAAO;QACL,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,OAAO;QACvC,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,SAAoB,EACpB,QAAkB,EAClB,kBAA8B,EAC9B,mBAA+B,EAC/B,EAAmB;IAEnB,MAAM,iBAAiB,GAAe,IAAI,UAAU,EAAE,CAAA;IAEtD,MAAM,4BAA4B,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAa,EAAW,EAAE;QAC7F,IAAI,EAAE,CAAC,aAAa,KAAK,kBAAkB;YAAE,OAAO,KAAK,CAAA;QACzD,MAAM,OAAO,GAAG,IAAA,qCAAoB,EAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;QAEzD,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,0BAAe,CAAC,4CAA4C,CAAC,CAAA;QAElG,OAAO,IAAA,uCAAiB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAA;IAC7E,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,IAAA,uDAA6B,EAChD,mBAAmB,EACnB,SAAS,CAAC,YAAY,EACtB,iBAAiB,EACjB,QAAQ,EACR,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,4BAA4B,EAAE,EACrE,EAAE,CACH,CAAA;IAED,OAAO;QACL,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,OAAO;QACvC,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Decoder } from "./codec/tlsDecoder";
|
|
2
|
+
import { Encoder } from "./codec/tlsEncoder";
|
|
3
|
+
import { Credential } from "./credential";
|
|
4
|
+
export type ExternalSender = {
|
|
5
|
+
signaturePublicKey: Uint8Array;
|
|
6
|
+
credential: Credential;
|
|
7
|
+
};
|
|
8
|
+
export declare const encodeExternalSender: Encoder<ExternalSender>;
|
|
9
|
+
export declare const decodeExternalSender: Decoder<ExternalSender>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"externalSender.d.ts","sourceRoot":"","sources":["../../src/externalSender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAqB,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE/D,OAAO,EAAE,UAAU,EAAsC,MAAM,cAAc,CAAA;AAE7E,MAAM,MAAM,cAAc,GAAG;IAC3B,kBAAkB,EAAE,UAAU,CAAA;IAC9B,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,cAAc,CAGxD,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,cAAc,CAGxD,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeExternalSender = exports.encodeExternalSender = void 0;
|
|
4
|
+
const tlsDecoder_1 = require("./codec/tlsDecoder");
|
|
5
|
+
const tlsEncoder_1 = require("./codec/tlsEncoder");
|
|
6
|
+
const variableLength_1 = require("./codec/variableLength");
|
|
7
|
+
const credential_1 = require("./credential");
|
|
8
|
+
exports.encodeExternalSender = (0, tlsEncoder_1.contramapEncoders)([variableLength_1.encodeVarLenData, credential_1.encodeCredential], (e) => [e.signaturePublicKey, e.credential]);
|
|
9
|
+
exports.decodeExternalSender = (0, tlsDecoder_1.mapDecoders)([variableLength_1.decodeVarLenData, credential_1.decodeCredential], (signaturePublicKey, credential) => ({ signaturePublicKey, credential }));
|
|
10
|
+
//# sourceMappingURL=externalSender.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"externalSender.js","sourceRoot":"","sources":["../../src/externalSender.ts"],"names":[],"mappings":";;;AAAA,mDAAyD;AACzD,mDAA+D;AAC/D,2DAA2E;AAC3E,6CAA6E;AAOhE,QAAA,oBAAoB,GAA4B,IAAA,8BAAiB,EAC5E,CAAC,iCAAgB,EAAE,6BAAgB,CAAC,EACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAU,CACrD,CAAA;AAEY,QAAA,oBAAoB,GAA4B,IAAA,wBAAW,EACtE,CAAC,iCAAgB,EAAE,6BAAgB,CAAC,EACpC,CAAC,kBAAkB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC,CACzE,CAAA"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { Decoder } from "./codec/tlsDecoder";
|
|
2
|
+
import { Encoder } from "./codec/tlsEncoder";
|
|
3
|
+
import { Commit } from "./commit";
|
|
4
|
+
import { ContentTypeName } from "./contentType";
|
|
5
|
+
import { CiphersuiteImpl } from "./crypto/ciphersuite";
|
|
6
|
+
import { Hash } from "./crypto/hash";
|
|
7
|
+
import { Signature } from "./crypto/signature";
|
|
8
|
+
import { GroupContext } from "./groupContext";
|
|
9
|
+
import { WireformatName } from "./wireformat";
|
|
10
|
+
import { Proposal } from "./proposal";
|
|
11
|
+
import { ProtocolVersionName } from "./protocolVersion";
|
|
12
|
+
import { Sender, SenderExternal, SenderMember, SenderNewMemberCommit, SenderNewMemberProposal } from "./sender";
|
|
13
|
+
export type FramedContentInfo = FramedContentApplicationData | FramedContentProposalData | FramedContentCommitData;
|
|
14
|
+
export type FramedContentApplicationData = {
|
|
15
|
+
contentType: "application";
|
|
16
|
+
applicationData: Uint8Array;
|
|
17
|
+
};
|
|
18
|
+
export type FramedContentProposalData = {
|
|
19
|
+
contentType: "proposal";
|
|
20
|
+
proposal: Proposal;
|
|
21
|
+
};
|
|
22
|
+
export type FramedContentCommitData = {
|
|
23
|
+
contentType: "commit";
|
|
24
|
+
commit: Commit;
|
|
25
|
+
};
|
|
26
|
+
export declare const encodeFramedContentApplicationData: Encoder<FramedContentApplicationData>;
|
|
27
|
+
export declare const encodeFramedContentProposalData: Encoder<FramedContentProposalData>;
|
|
28
|
+
export declare const encodeFramedContentCommitData: Encoder<FramedContentCommitData>;
|
|
29
|
+
export declare const encodeFramedContentInfo: Encoder<FramedContentInfo>;
|
|
30
|
+
export declare const decodeFramedContentApplicationData: Decoder<FramedContentApplicationData>;
|
|
31
|
+
export declare const decodeFramedContentProposalData: Decoder<FramedContentProposalData>;
|
|
32
|
+
export declare const decodeFramedContentCommitData: Decoder<FramedContentCommitData>;
|
|
33
|
+
export declare const decodeFramedContentInfo: Decoder<FramedContentInfo>;
|
|
34
|
+
export declare function toTbs(content: FramedContent, wireformat: WireformatName, context: GroupContext): FramedContentTBS;
|
|
35
|
+
export type FramedContent = FramedContentData & FramedContentInfo;
|
|
36
|
+
export type FramedContentData = {
|
|
37
|
+
groupId: Uint8Array;
|
|
38
|
+
epoch: bigint;
|
|
39
|
+
sender: Sender;
|
|
40
|
+
authenticatedData: Uint8Array;
|
|
41
|
+
};
|
|
42
|
+
export type FramedContentMember = FramedContent & {
|
|
43
|
+
sender: SenderMember;
|
|
44
|
+
};
|
|
45
|
+
export type FramedContentNewMemberCommit = FramedContent & {
|
|
46
|
+
sender: SenderNewMemberCommit;
|
|
47
|
+
};
|
|
48
|
+
export type FramedContentExternal = FramedContent & {
|
|
49
|
+
sender: SenderExternal;
|
|
50
|
+
};
|
|
51
|
+
export type FramedContentNewMemberProposal = FramedContent & {
|
|
52
|
+
sender: SenderNewMemberProposal;
|
|
53
|
+
};
|
|
54
|
+
export type FramedContentCommit = FramedContentData & FramedContentCommitData;
|
|
55
|
+
export type FramedContentApplicationOrProposal = FramedContentData & (FramedContentApplicationData | FramedContentProposalData);
|
|
56
|
+
export declare const encodeFramedContent: Encoder<FramedContent>;
|
|
57
|
+
export declare const decodeFramedContent: Decoder<FramedContent>;
|
|
58
|
+
type SenderInfo = SenderInfoMember | SenderInfoNewMemberCommit | SenderInfoExternal | SenderInfoNewMemberProposal;
|
|
59
|
+
type SenderInfoMember = {
|
|
60
|
+
senderType: "member";
|
|
61
|
+
context: GroupContext;
|
|
62
|
+
};
|
|
63
|
+
type SenderInfoNewMemberCommit = {
|
|
64
|
+
senderType: "new_member_commit";
|
|
65
|
+
context: GroupContext;
|
|
66
|
+
};
|
|
67
|
+
type SenderInfoExternal = {
|
|
68
|
+
senderType: "external";
|
|
69
|
+
};
|
|
70
|
+
type SenderInfoNewMemberProposal = {
|
|
71
|
+
senderType: "new_member_proposal";
|
|
72
|
+
};
|
|
73
|
+
export declare const encodeSenderInfo: Encoder<SenderInfo>;
|
|
74
|
+
export type FramedContentTBS = {
|
|
75
|
+
protocolVersion: ProtocolVersionName;
|
|
76
|
+
wireformat: WireformatName;
|
|
77
|
+
content: FramedContent;
|
|
78
|
+
} & SenderInfo;
|
|
79
|
+
export type FramedContentTBSCommit = FramedContentTBS & {
|
|
80
|
+
content: FramedContentCommit;
|
|
81
|
+
};
|
|
82
|
+
export type FramedContentTBSApplicationOrProposal = FramedContentTBS & {
|
|
83
|
+
content: FramedContentApplicationOrProposal;
|
|
84
|
+
};
|
|
85
|
+
export type FramedContentTBSExternal = FramedContentTBS & (SenderInfoExternal | SenderInfoNewMemberCommit | SenderInfoNewMemberProposal);
|
|
86
|
+
export declare const encodeFramedContentTBS: Encoder<FramedContentTBS>;
|
|
87
|
+
export type FramedContentAuthData = FramedContentAuthDataCommit | FramedContentAuthDataApplicationOrProposal;
|
|
88
|
+
export type FramedContentAuthDataCommit = {
|
|
89
|
+
signature: Uint8Array;
|
|
90
|
+
} & FramedContentAuthDataContentCommit;
|
|
91
|
+
export type FramedContentAuthDataApplicationOrProposal = {
|
|
92
|
+
signature: Uint8Array;
|
|
93
|
+
} & FramedContentAuthDataContentApplicationOrProposal;
|
|
94
|
+
type FramedContentAuthDataContentCommit = {
|
|
95
|
+
contentType: "commit";
|
|
96
|
+
confirmationTag: Uint8Array;
|
|
97
|
+
};
|
|
98
|
+
type FramedContentAuthDataContentApplicationOrProposal = {
|
|
99
|
+
contentType: Exclude<ContentTypeName, "commit">;
|
|
100
|
+
};
|
|
101
|
+
export declare const encodeFramedContentAuthData: Encoder<FramedContentAuthData>;
|
|
102
|
+
export declare const decodeFramedContentAuthDataCommit: Decoder<FramedContentAuthDataContentCommit>;
|
|
103
|
+
export declare function decodeFramedContentAuthData(contentType: ContentTypeName): Decoder<FramedContentAuthData>;
|
|
104
|
+
export declare function verifyFramedContentSignature(signKey: Uint8Array, wireformat: WireformatName, content: FramedContent, auth: FramedContentAuthData, context: GroupContext, s: Signature): Promise<boolean>;
|
|
105
|
+
export declare function signFramedContentTBS(signKey: Uint8Array, tbs: FramedContentTBS, s: Signature): Promise<Uint8Array>;
|
|
106
|
+
export declare function signFramedContentApplicationOrProposal(signKey: Uint8Array, tbs: FramedContentTBSApplicationOrProposal, cs: CiphersuiteImpl): Promise<FramedContentAuthDataApplicationOrProposal>;
|
|
107
|
+
export declare function createConfirmationTag(confirmationKey: Uint8Array, confirmedTranscriptHash: Uint8Array, h: Hash): Promise<Uint8Array>;
|
|
108
|
+
export declare function verifyConfirmationTag(confirmationKey: Uint8Array, tag: Uint8Array, confirmedTranscriptHash: Uint8Array, h: Hash): Promise<boolean>;
|
|
109
|
+
export declare function createContentCommitSignature(groupContext: GroupContext, wireformat: WireformatName, c: Commit, sender: Sender, authenticatedData: Uint8Array, signKey: Uint8Array, s: Signature): Promise<{
|
|
110
|
+
framedContent: FramedContentCommit;
|
|
111
|
+
signature: Uint8Array;
|
|
112
|
+
}>;
|
|
113
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framedContent.d.ts","sourceRoot":"","sources":["../../src/framedContent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeFramedContentAuthDataCommit = exports.encodeFramedContentAuthData = exports.encodeFramedContentTBS = exports.encodeSenderInfo = exports.decodeFramedContent = exports.encodeFramedContent = exports.decodeFramedContentInfo = exports.decodeFramedContentCommitData = exports.decodeFramedContentProposalData = exports.decodeFramedContentApplicationData = exports.encodeFramedContentInfo = exports.encodeFramedContentCommitData = exports.encodeFramedContentProposalData = exports.encodeFramedContentApplicationData = void 0;
|
|
4
|
+
exports.toTbs = toTbs;
|
|
5
|
+
exports.decodeFramedContentAuthData = decodeFramedContentAuthData;
|
|
6
|
+
exports.verifyFramedContentSignature = verifyFramedContentSignature;
|
|
7
|
+
exports.signFramedContentTBS = signFramedContentTBS;
|
|
8
|
+
exports.signFramedContentApplicationOrProposal = signFramedContentApplicationOrProposal;
|
|
9
|
+
exports.createConfirmationTag = createConfirmationTag;
|
|
10
|
+
exports.verifyConfirmationTag = verifyConfirmationTag;
|
|
11
|
+
exports.createContentCommitSignature = createContentCommitSignature;
|
|
12
|
+
const number_1 = require("./codec/number");
|
|
13
|
+
const tlsDecoder_1 = require("./codec/tlsDecoder");
|
|
14
|
+
const tlsEncoder_1 = require("./codec/tlsEncoder");
|
|
15
|
+
const variableLength_1 = require("./codec/variableLength");
|
|
16
|
+
const commit_1 = require("./commit");
|
|
17
|
+
const contentType_1 = require("./contentType");
|
|
18
|
+
const signature_1 = require("./crypto/signature");
|
|
19
|
+
const groupContext_1 = require("./groupContext");
|
|
20
|
+
const wireformat_1 = require("./wireformat");
|
|
21
|
+
const proposal_1 = require("./proposal");
|
|
22
|
+
const protocolVersion_1 = require("./protocolVersion");
|
|
23
|
+
const sender_1 = require("./sender");
|
|
24
|
+
exports.encodeFramedContentApplicationData = (0, tlsEncoder_1.contramapEncoders)([contentType_1.encodeContentType, variableLength_1.encodeVarLenData], (f) => [f.contentType, f.applicationData]);
|
|
25
|
+
exports.encodeFramedContentProposalData = (0, tlsEncoder_1.contramapEncoders)([contentType_1.encodeContentType, proposal_1.encodeProposal], (f) => [f.contentType, f.proposal]);
|
|
26
|
+
exports.encodeFramedContentCommitData = (0, tlsEncoder_1.contramapEncoders)([contentType_1.encodeContentType, commit_1.encodeCommit], (f) => [f.contentType, f.commit]);
|
|
27
|
+
const encodeFramedContentInfo = (fc) => {
|
|
28
|
+
switch (fc.contentType) {
|
|
29
|
+
case "application":
|
|
30
|
+
return (0, exports.encodeFramedContentApplicationData)(fc);
|
|
31
|
+
case "proposal":
|
|
32
|
+
return (0, exports.encodeFramedContentProposalData)(fc);
|
|
33
|
+
case "commit":
|
|
34
|
+
return (0, exports.encodeFramedContentCommitData)(fc);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.encodeFramedContentInfo = encodeFramedContentInfo;
|
|
38
|
+
exports.decodeFramedContentApplicationData = (0, tlsDecoder_1.mapDecoder)(variableLength_1.decodeVarLenData, (applicationData) => ({ contentType: "application", applicationData }));
|
|
39
|
+
exports.decodeFramedContentProposalData = (0, tlsDecoder_1.mapDecoder)(proposal_1.decodeProposal, (proposal) => ({ contentType: "proposal", proposal }));
|
|
40
|
+
exports.decodeFramedContentCommitData = (0, tlsDecoder_1.mapDecoder)(commit_1.decodeCommit, (commit) => ({
|
|
41
|
+
contentType: "commit",
|
|
42
|
+
commit,
|
|
43
|
+
}));
|
|
44
|
+
exports.decodeFramedContentInfo = (0, tlsDecoder_1.flatMapDecoder)(contentType_1.decodeContentType, (contentType) => {
|
|
45
|
+
switch (contentType) {
|
|
46
|
+
case "application":
|
|
47
|
+
return exports.decodeFramedContentApplicationData;
|
|
48
|
+
case "proposal":
|
|
49
|
+
return exports.decodeFramedContentProposalData;
|
|
50
|
+
case "commit":
|
|
51
|
+
return exports.decodeFramedContentCommitData;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
function toTbs(content, wireformat, context) {
|
|
55
|
+
return { protocolVersion: context.version, wireformat, content, senderType: content.sender.senderType, context };
|
|
56
|
+
}
|
|
57
|
+
exports.encodeFramedContent = (0, tlsEncoder_1.contramapEncoders)([variableLength_1.encodeVarLenData, number_1.encodeUint64, sender_1.encodeSender, variableLength_1.encodeVarLenData, exports.encodeFramedContentInfo], (fc) => [fc.groupId, fc.epoch, fc.sender, fc.authenticatedData, fc]);
|
|
58
|
+
exports.decodeFramedContent = (0, tlsDecoder_1.mapDecoders)([variableLength_1.decodeVarLenData, number_1.decodeUint64, sender_1.decodeSender, variableLength_1.decodeVarLenData, exports.decodeFramedContentInfo], (groupId, epoch, sender, authenticatedData, info) => ({
|
|
59
|
+
groupId,
|
|
60
|
+
epoch,
|
|
61
|
+
sender,
|
|
62
|
+
authenticatedData,
|
|
63
|
+
...info,
|
|
64
|
+
}));
|
|
65
|
+
const encodeSenderInfo = (info) => {
|
|
66
|
+
switch (info.senderType) {
|
|
67
|
+
case "member":
|
|
68
|
+
case "new_member_commit":
|
|
69
|
+
return (0, groupContext_1.encodeGroupContext)(info.context);
|
|
70
|
+
case "external":
|
|
71
|
+
case "new_member_proposal":
|
|
72
|
+
return new Uint8Array();
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
exports.encodeSenderInfo = encodeSenderInfo;
|
|
76
|
+
exports.encodeFramedContentTBS = (0, tlsEncoder_1.contramapEncoders)([protocolVersion_1.encodeProtocolVersion, wireformat_1.encodeWireformat, exports.encodeFramedContent, exports.encodeSenderInfo], (f) => [f.protocolVersion, f.wireformat, f.content, f]);
|
|
77
|
+
const encodeFramedContentAuthDataContent = (authData) => {
|
|
78
|
+
switch (authData.contentType) {
|
|
79
|
+
case "commit":
|
|
80
|
+
return encodeFramedContentAuthDataCommit(authData);
|
|
81
|
+
case "application":
|
|
82
|
+
case "proposal":
|
|
83
|
+
return new Uint8Array();
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
const encodeFramedContentAuthDataCommit = (0, tlsEncoder_1.contramapEncoder)(variableLength_1.encodeVarLenData, (data) => data.confirmationTag);
|
|
87
|
+
exports.encodeFramedContentAuthData = (0, tlsEncoder_1.contramapEncoders)([variableLength_1.encodeVarLenData, encodeFramedContentAuthDataContent], (d) => [d.signature, d]);
|
|
88
|
+
exports.decodeFramedContentAuthDataCommit = (0, tlsDecoder_1.mapDecoder)(variableLength_1.decodeVarLenData, (confirmationTag) => ({
|
|
89
|
+
contentType: "commit",
|
|
90
|
+
confirmationTag,
|
|
91
|
+
}));
|
|
92
|
+
function decodeFramedContentAuthData(contentType) {
|
|
93
|
+
switch (contentType) {
|
|
94
|
+
case "commit":
|
|
95
|
+
return (0, tlsDecoder_1.mapDecoders)([variableLength_1.decodeVarLenData, exports.decodeFramedContentAuthDataCommit], (signature, commitData) => ({
|
|
96
|
+
signature,
|
|
97
|
+
...commitData,
|
|
98
|
+
}));
|
|
99
|
+
case "application":
|
|
100
|
+
case "proposal":
|
|
101
|
+
return (0, tlsDecoder_1.mapDecoder)(variableLength_1.decodeVarLenData, (signature) => ({
|
|
102
|
+
signature,
|
|
103
|
+
contentType,
|
|
104
|
+
}));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
async function verifyFramedContentSignature(signKey, wireformat, content, auth, context, s) {
|
|
108
|
+
return (0, signature_1.verifyWithLabel)(signKey, "FramedContentTBS", (0, exports.encodeFramedContentTBS)(toTbs(content, wireformat, context)), auth.signature, s);
|
|
109
|
+
}
|
|
110
|
+
function signFramedContentTBS(signKey, tbs, s) {
|
|
111
|
+
return (0, signature_1.signWithLabel)(signKey, "FramedContentTBS", (0, exports.encodeFramedContentTBS)(tbs), s);
|
|
112
|
+
}
|
|
113
|
+
async function signFramedContentApplicationOrProposal(signKey, tbs, cs) {
|
|
114
|
+
const signature = await signFramedContentTBS(signKey, tbs, cs.signature);
|
|
115
|
+
return {
|
|
116
|
+
contentType: tbs.content.contentType,
|
|
117
|
+
signature,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function createConfirmationTag(confirmationKey, confirmedTranscriptHash, h) {
|
|
121
|
+
return h.mac(confirmationKey, confirmedTranscriptHash);
|
|
122
|
+
}
|
|
123
|
+
function verifyConfirmationTag(confirmationKey, tag, confirmedTranscriptHash, h) {
|
|
124
|
+
return h.verifyMac(confirmationKey, tag, confirmedTranscriptHash);
|
|
125
|
+
}
|
|
126
|
+
async function createContentCommitSignature(groupContext, wireformat, c, sender, authenticatedData, signKey, s) {
|
|
127
|
+
const tbs = {
|
|
128
|
+
protocolVersion: groupContext.version,
|
|
129
|
+
wireformat,
|
|
130
|
+
content: {
|
|
131
|
+
contentType: "commit",
|
|
132
|
+
commit: c,
|
|
133
|
+
groupId: groupContext.groupId,
|
|
134
|
+
epoch: groupContext.epoch,
|
|
135
|
+
sender,
|
|
136
|
+
authenticatedData,
|
|
137
|
+
},
|
|
138
|
+
senderType: "member",
|
|
139
|
+
context: groupContext,
|
|
140
|
+
};
|
|
141
|
+
const signature = await signFramedContentTBS(signKey, tbs, s);
|
|
142
|
+
return { framedContent: tbs.content, signature };
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=framedContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framedContent.js","sourceRoot":"","sources":["../../src/framedContent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Capabilities } from "./capabilities";
|
|
2
|
+
import { CredentialTypeName } from "./credentialType";
|
|
3
|
+
import { CiphersuiteName } from "./crypto/ciphersuite";
|
|
4
|
+
import { Extension } from "./extension";
|
|
5
|
+
export declare const greaseValues: number[];
|
|
6
|
+
export type GreaseConfig = {
|
|
7
|
+
probabilityPerGreaseValue: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const defaultGreaseConfig: {
|
|
10
|
+
probabilityPerGreaseValue: number;
|
|
11
|
+
};
|
|
12
|
+
export declare function grease(greaseConfig: GreaseConfig): number[];
|
|
13
|
+
export declare function greaseCiphersuites(greaseConfig: GreaseConfig): CiphersuiteName[];
|
|
14
|
+
export declare function greaseCredentials(greaseConfig: GreaseConfig): CredentialTypeName[];
|
|
15
|
+
export declare function greaseExtensions(greaseConfig: GreaseConfig): Extension[];
|
|
16
|
+
export declare function greaseCapabilities(config: GreaseConfig, capabilities: Capabilities): Capabilities;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grease.d.ts","sourceRoot":"","sources":["../../src/grease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,eAAO,MAAM,YAAY,UAGxB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,yBAAyB,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,mBAAmB;;CAE/B,CAAA;AAED,wBAAgB,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,EAAE,CAE3D;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,eAAe,EAAE,CAEhF;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,kBAAkB,EAAE,CAElF;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS,EAAE,CAExE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,GAAG,YAAY,CAQjG"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultGreaseConfig = exports.greaseValues = void 0;
|
|
4
|
+
exports.grease = grease;
|
|
5
|
+
exports.greaseCiphersuites = greaseCiphersuites;
|
|
6
|
+
exports.greaseCredentials = greaseCredentials;
|
|
7
|
+
exports.greaseExtensions = greaseExtensions;
|
|
8
|
+
exports.greaseCapabilities = greaseCapabilities;
|
|
9
|
+
exports.greaseValues = [
|
|
10
|
+
0x0a0a, 0x1a1a, 0x2a2a, 0x3a3a, 0x4a4a, 0x5a5a, 0x6a6a, 0x7a7a, 0x8a8a, 0x9a9a, 0xaaaa, 0xbaba, 0xcaca, 0xdada,
|
|
11
|
+
0xeaea,
|
|
12
|
+
];
|
|
13
|
+
exports.defaultGreaseConfig = {
|
|
14
|
+
probabilityPerGreaseValue: 0.1,
|
|
15
|
+
};
|
|
16
|
+
function grease(greaseConfig) {
|
|
17
|
+
return exports.greaseValues.filter(() => greaseConfig.probabilityPerGreaseValue > Math.random());
|
|
18
|
+
}
|
|
19
|
+
function greaseCiphersuites(greaseConfig) {
|
|
20
|
+
return grease(greaseConfig).map((n) => n.toString());
|
|
21
|
+
}
|
|
22
|
+
function greaseCredentials(greaseConfig) {
|
|
23
|
+
return grease(greaseConfig).map((n) => n.toString());
|
|
24
|
+
}
|
|
25
|
+
function greaseExtensions(greaseConfig) {
|
|
26
|
+
return grease(greaseConfig).map((n) => ({ extensionType: n, extensionData: new Uint8Array() }));
|
|
27
|
+
}
|
|
28
|
+
function greaseCapabilities(config, capabilities) {
|
|
29
|
+
return {
|
|
30
|
+
ciphersuites: [...capabilities.ciphersuites, ...greaseCiphersuites(config)],
|
|
31
|
+
credentials: [...capabilities.credentials, ...greaseCredentials(config)],
|
|
32
|
+
extensions: [...capabilities.extensions, ...grease(config)],
|
|
33
|
+
proposals: [...capabilities.proposals, ...grease(config)],
|
|
34
|
+
versions: capabilities.versions,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=grease.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grease.js","sourceRoot":"","sources":["../../src/grease.ts"],"names":[],"mappings":";;;AAkBA,wBAEC;AAED,gDAEC;AAED,8CAEC;AAED,4CAEC;AAED,gDAQC;AArCY,QAAA,YAAY,GAAG;IAC1B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9G,MAAM;CACP,CAAA;AAMY,QAAA,mBAAmB,GAAG;IACjC,yBAAyB,EAAE,GAAG;CAC/B,CAAA;AAED,SAAgB,MAAM,CAAC,YAA0B;IAC/C,OAAO,oBAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,yBAAyB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;AAC1F,CAAC;AAED,SAAgB,kBAAkB,CAAC,YAA0B;IAC3D,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAqB,CAAC,CAAA;AACzE,CAAC;AAED,SAAgB,iBAAiB,CAAC,YAA0B;IAC1D,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAwB,CAAC,CAAA;AAC5E,CAAC;AAED,SAAgB,gBAAgB,CAAC,YAA0B;IACzD,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,UAAU,EAAE,EAAE,CAAC,CAAC,CAAA;AACjG,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAoB,EAAE,YAA0B;IACjF,OAAO;QACL,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,YAAY,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3E,WAAW,EAAE,CAAC,GAAG,YAAY,CAAC,WAAW,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACxE,UAAU,EAAE,CAAC,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3D,SAAS,EAAE,CAAC,GAAG,YAAY,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,QAAQ,EAAE,YAAY,CAAC,QAAQ;KAChC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Decoder } from "./codec/tlsDecoder";
|
|
2
|
+
import { Encoder } from "./codec/tlsEncoder";
|
|
3
|
+
import { CiphersuiteName } from "./crypto/ciphersuite";
|
|
4
|
+
import { Kdf } from "./crypto/kdf";
|
|
5
|
+
import { Extension } from "./extension";
|
|
6
|
+
import { ProtocolVersionName } from "./protocolVersion";
|
|
7
|
+
export type GroupContext = {
|
|
8
|
+
version: ProtocolVersionName;
|
|
9
|
+
cipherSuite: CiphersuiteName;
|
|
10
|
+
groupId: Uint8Array;
|
|
11
|
+
epoch: bigint;
|
|
12
|
+
treeHash: Uint8Array;
|
|
13
|
+
confirmedTranscriptHash: Uint8Array;
|
|
14
|
+
extensions: Extension[];
|
|
15
|
+
};
|
|
16
|
+
export declare const encodeGroupContext: Encoder<GroupContext>;
|
|
17
|
+
export declare const decodeGroupContext: Decoder<GroupContext>;
|
|
18
|
+
export declare function extractEpochSecret(context: GroupContext, joinerSecret: Uint8Array, kdf: Kdf, pskSecret?: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
|
|
19
|
+
export declare function extractJoinerSecret(context: GroupContext, previousInitSecret: Uint8Array, commitSecret: Uint8Array, kdf: Kdf): Promise<Uint8Array<ArrayBufferLike>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupContext.d.ts","sourceRoot":"","sources":["../../src/groupContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAe,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAqB,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE/D,OAAO,EAAE,eAAe,EAAwC,MAAM,sBAAsB,CAAA;AAE5F,OAAO,EAAmB,GAAG,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAoC,SAAS,EAAE,MAAM,aAAa,CAAA;AAEzE,OAAO,EAAgD,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAErG,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,mBAAmB,CAAA;IAC5B,WAAW,EAAE,eAAe,CAAA;IAC5B,OAAO,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,UAAU,CAAA;IACpB,uBAAuB,EAAE,UAAU,CAAA;IACnC,UAAU,EAAE,SAAS,EAAE,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,YAAY,CAYpD,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,YAAY,CAmBpD,CAAA;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,YAAY,EACrB,YAAY,EAAE,UAAU,EACxB,GAAG,EAAE,GAAG,EACR,SAAS,CAAC,EAAE,UAAU,wCAMvB;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,UAAU,EAC9B,YAAY,EAAE,UAAU,EACxB,GAAG,EAAE,GAAG,wCAKT"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeGroupContext = exports.encodeGroupContext = void 0;
|
|
4
|
+
exports.extractEpochSecret = extractEpochSecret;
|
|
5
|
+
exports.extractJoinerSecret = extractJoinerSecret;
|
|
6
|
+
const number_1 = require("./codec/number");
|
|
7
|
+
const tlsDecoder_1 = require("./codec/tlsDecoder");
|
|
8
|
+
const tlsEncoder_1 = require("./codec/tlsEncoder");
|
|
9
|
+
const variableLength_1 = require("./codec/variableLength");
|
|
10
|
+
const ciphersuite_1 = require("./crypto/ciphersuite");
|
|
11
|
+
const kdf_1 = require("./crypto/kdf");
|
|
12
|
+
const extension_1 = require("./extension");
|
|
13
|
+
const protocolVersion_1 = require("./protocolVersion");
|
|
14
|
+
exports.encodeGroupContext = (0, tlsEncoder_1.contramapEncoders)([
|
|
15
|
+
protocolVersion_1.encodeProtocolVersion,
|
|
16
|
+
ciphersuite_1.encodeCiphersuite,
|
|
17
|
+
variableLength_1.encodeVarLenData, // groupId
|
|
18
|
+
number_1.encodeUint64, // epoch
|
|
19
|
+
variableLength_1.encodeVarLenData, // treeHash
|
|
20
|
+
variableLength_1.encodeVarLenData, // confirmedTranscriptHash
|
|
21
|
+
(0, variableLength_1.encodeVarLenType)(extension_1.encodeExtension),
|
|
22
|
+
], (gc) => [gc.version, gc.cipherSuite, gc.groupId, gc.epoch, gc.treeHash, gc.confirmedTranscriptHash, gc.extensions]);
|
|
23
|
+
exports.decodeGroupContext = (0, tlsDecoder_1.mapDecoders)([
|
|
24
|
+
protocolVersion_1.decodeProtocolVersion,
|
|
25
|
+
ciphersuite_1.decodeCiphersuite,
|
|
26
|
+
variableLength_1.decodeVarLenData, // groupId
|
|
27
|
+
number_1.decodeUint64, // epoch
|
|
28
|
+
variableLength_1.decodeVarLenData, // treeHash
|
|
29
|
+
variableLength_1.decodeVarLenData, // confirmedTranscriptHash
|
|
30
|
+
(0, variableLength_1.decodeVarLenType)(extension_1.decodeExtension),
|
|
31
|
+
], (version, cipherSuite, groupId, epoch, treeHash, confirmedTranscriptHash, extensions) => ({
|
|
32
|
+
version,
|
|
33
|
+
cipherSuite,
|
|
34
|
+
groupId,
|
|
35
|
+
epoch,
|
|
36
|
+
treeHash,
|
|
37
|
+
confirmedTranscriptHash,
|
|
38
|
+
extensions,
|
|
39
|
+
}));
|
|
40
|
+
async function extractEpochSecret(context, joinerSecret, kdf, pskSecret) {
|
|
41
|
+
const psk = pskSecret === undefined ? new Uint8Array(kdf.size) : pskSecret;
|
|
42
|
+
const extracted = await kdf.extract(joinerSecret, psk);
|
|
43
|
+
return (0, kdf_1.expandWithLabel)(extracted, "epoch", (0, exports.encodeGroupContext)(context), kdf.size, kdf);
|
|
44
|
+
}
|
|
45
|
+
async function extractJoinerSecret(context, previousInitSecret, commitSecret, kdf) {
|
|
46
|
+
const extracted = await kdf.extract(previousInitSecret, commitSecret);
|
|
47
|
+
return (0, kdf_1.expandWithLabel)(extracted, "joiner", (0, exports.encodeGroupContext)(context), kdf.size, kdf);
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=groupContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupContext.js","sourceRoot":"","sources":["../../src/groupContext.ts"],"names":[],"mappings":";;;AAwDA,gDAUC;AAED,kDASC;AA7ED,2CAA2D;AAC3D,mDAAyD;AACzD,mDAA+D;AAC/D,2DAA+G;AAC/G,sDAA4F;AAE5F,sCAAmD;AACnD,2CAAyE;AAEzE,uDAAqG;AAYxF,QAAA,kBAAkB,GAA0B,IAAA,8BAAiB,EACxE;IACE,uCAAqB;IACrB,+BAAiB;IACjB,iCAAgB,EAAE,UAAU;IAC5B,qBAAY,EAAE,QAAQ;IACtB,iCAAgB,EAAE,WAAW;IAC7B,iCAAgB,EAAE,0BAA0B;IAC5C,IAAA,iCAAgB,EAAC,2BAAe,CAAC;CAClC,EACD,CAAC,EAAE,EAAE,EAAE,CACL,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,uBAAuB,EAAE,EAAE,CAAC,UAAU,CAAU,CACtH,CAAA;AAEY,QAAA,kBAAkB,GAA0B,IAAA,wBAAW,EAClE;IACE,uCAAqB;IACrB,+BAAiB;IACjB,iCAAgB,EAAE,UAAU;IAC5B,qBAAY,EAAE,QAAQ;IACtB,iCAAgB,EAAE,WAAW;IAC7B,iCAAgB,EAAE,0BAA0B;IAC5C,IAAA,iCAAgB,EAAC,2BAAe,CAAC;CAClC,EACD,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACxF,OAAO;IACP,WAAW;IACX,OAAO;IACP,KAAK;IACL,QAAQ;IACR,uBAAuB;IACvB,UAAU;CACX,CAAC,CACH,CAAA;AAEM,KAAK,UAAU,kBAAkB,CACtC,OAAqB,EACrB,YAAwB,EACxB,GAAQ,EACR,SAAsB;IAEtB,MAAM,GAAG,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1E,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IAEtD,OAAO,IAAA,qBAAe,EAAC,SAAS,EAAE,OAAO,EAAE,IAAA,0BAAkB,EAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AACxF,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,OAAqB,EACrB,kBAA8B,EAC9B,YAAwB,EACxB,GAAQ;IAER,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAA;IAErE,OAAO,IAAA,qBAAe,EAAC,SAAS,EAAE,QAAQ,EAAE,IAAA,0BAAkB,EAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AACzF,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Decoder } from "./codec/tlsDecoder";
|
|
2
|
+
import { Encoder } from "./codec/tlsEncoder";
|
|
3
|
+
import { CiphersuiteImpl } from "./crypto/ciphersuite";
|
|
4
|
+
import { Kdf } from "./crypto/kdf";
|
|
5
|
+
import { Signature } from "./crypto/signature";
|
|
6
|
+
import { Extension } from "./extension";
|
|
7
|
+
import { GroupContext } from "./groupContext";
|
|
8
|
+
import { RatchetTree } from "./ratchetTree";
|
|
9
|
+
export type GroupInfoTBS = {
|
|
10
|
+
groupContext: GroupContext;
|
|
11
|
+
extensions: Extension[];
|
|
12
|
+
confirmationTag: Uint8Array;
|
|
13
|
+
signer: number;
|
|
14
|
+
};
|
|
15
|
+
export declare const encodeGroupInfoTBS: Encoder<GroupInfoTBS>;
|
|
16
|
+
export declare const decodeGroupInfoTBS: Decoder<GroupInfoTBS>;
|
|
17
|
+
export type GroupInfo = GroupInfoTBS & {
|
|
18
|
+
signature: Uint8Array;
|
|
19
|
+
};
|
|
20
|
+
export declare const encodeGroupInfo: Encoder<GroupInfo>;
|
|
21
|
+
export declare const decodeGroupInfo: Decoder<GroupInfo>;
|
|
22
|
+
export declare function ratchetTreeFromExtension(info: GroupInfo): RatchetTree | undefined;
|
|
23
|
+
export declare function signGroupInfo(tbs: GroupInfoTBS, privateKey: Uint8Array, s: Signature): Promise<GroupInfo>;
|
|
24
|
+
export declare function verifyGroupInfoSignature(gi: GroupInfo, publicKey: Uint8Array, s: Signature): Promise<boolean>;
|
|
25
|
+
export declare function verifyGroupInfoConfirmationTag(gi: GroupInfo, joinerSecret: Uint8Array, pskSecret: Uint8Array, cs: CiphersuiteImpl): Promise<boolean>;
|
|
26
|
+
export declare function extractWelcomeSecret(joinerSecret: Uint8Array, pskSecret: Uint8Array, kdf: Kdf): Promise<Uint8Array<ArrayBufferLike>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupInfo.d.ts","sourceRoot":"","sources":["../../src/groupInfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAe,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAqB,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAgB,GAAG,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,SAAS,EAAkC,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EAAoC,SAAS,EAAE,MAAM,aAAa,CAAA;AACzE,OAAO,EAA8D,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAEzG,OAAO,EAAqB,WAAW,EAAE,MAAM,eAAe,CAAA;AAE9D,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,YAAY,CAAA;IAC1B,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,eAAe,EAAE,UAAU,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,YAAY,CAGpD,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,YAAY,CAQpD,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG;IACrC,SAAS,EAAE,UAAU,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,SAAS,CAG9C,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,SAAS,CAM9C,CAAA;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAQjF;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAG/G;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAE7G;AAED,wBAAsB,8BAA8B,CAClD,EAAE,EAAE,SAAS,EACb,YAAY,EAAE,UAAU,EACxB,SAAS,EAAE,UAAU,EACrB,EAAE,EAAE,eAAe,GAClB,OAAO,CAAC,OAAO,CAAC,CAIlB;AAED,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,wCAEnG"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeGroupInfo = exports.encodeGroupInfo = exports.decodeGroupInfoTBS = exports.encodeGroupInfoTBS = void 0;
|
|
4
|
+
exports.ratchetTreeFromExtension = ratchetTreeFromExtension;
|
|
5
|
+
exports.signGroupInfo = signGroupInfo;
|
|
6
|
+
exports.verifyGroupInfoSignature = verifyGroupInfoSignature;
|
|
7
|
+
exports.verifyGroupInfoConfirmationTag = verifyGroupInfoConfirmationTag;
|
|
8
|
+
exports.extractWelcomeSecret = extractWelcomeSecret;
|
|
9
|
+
const number_1 = require("./codec/number");
|
|
10
|
+
const tlsDecoder_1 = require("./codec/tlsDecoder");
|
|
11
|
+
const tlsEncoder_1 = require("./codec/tlsEncoder");
|
|
12
|
+
const variableLength_1 = require("./codec/variableLength");
|
|
13
|
+
const kdf_1 = require("./crypto/kdf");
|
|
14
|
+
const signature_1 = require("./crypto/signature");
|
|
15
|
+
const extension_1 = require("./extension");
|
|
16
|
+
const groupContext_1 = require("./groupContext");
|
|
17
|
+
const mlsError_1 = require("./mlsError");
|
|
18
|
+
const ratchetTree_1 = require("./ratchetTree");
|
|
19
|
+
exports.encodeGroupInfoTBS = (0, tlsEncoder_1.contramapEncoders)([groupContext_1.encodeGroupContext, (0, variableLength_1.encodeVarLenType)(extension_1.encodeExtension), variableLength_1.encodeVarLenData, number_1.encodeUint32], (g) => [g.groupContext, g.extensions, g.confirmationTag, g.signer]);
|
|
20
|
+
exports.decodeGroupInfoTBS = (0, tlsDecoder_1.mapDecoders)([groupContext_1.decodeGroupContext, (0, variableLength_1.decodeVarLenType)(extension_1.decodeExtension), variableLength_1.decodeVarLenData, number_1.decodeUint32], (groupContext, extensions, confirmationTag, signer) => ({
|
|
21
|
+
groupContext,
|
|
22
|
+
extensions,
|
|
23
|
+
confirmationTag,
|
|
24
|
+
signer,
|
|
25
|
+
}));
|
|
26
|
+
exports.encodeGroupInfo = (0, tlsEncoder_1.contramapEncoders)([exports.encodeGroupInfoTBS, variableLength_1.encodeVarLenData], (g) => [g, g.signature]);
|
|
27
|
+
exports.decodeGroupInfo = (0, tlsDecoder_1.mapDecoders)([exports.decodeGroupInfoTBS, variableLength_1.decodeVarLenData], (tbs, signature) => ({
|
|
28
|
+
...tbs,
|
|
29
|
+
signature,
|
|
30
|
+
}));
|
|
31
|
+
function ratchetTreeFromExtension(info) {
|
|
32
|
+
const treeExtension = info.extensions.find((ex) => ex.extensionType === "ratchet_tree");
|
|
33
|
+
if (treeExtension !== undefined) {
|
|
34
|
+
const tree = (0, ratchetTree_1.decodeRatchetTree)(treeExtension.extensionData, 0);
|
|
35
|
+
if (tree === undefined)
|
|
36
|
+
throw new mlsError_1.CodecError("Could not decode RatchetTree");
|
|
37
|
+
return tree[0];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async function signGroupInfo(tbs, privateKey, s) {
|
|
41
|
+
const signature = await (0, signature_1.signWithLabel)(privateKey, "GroupInfoTBS", (0, exports.encodeGroupInfoTBS)(tbs), s);
|
|
42
|
+
return { ...tbs, signature };
|
|
43
|
+
}
|
|
44
|
+
function verifyGroupInfoSignature(gi, publicKey, s) {
|
|
45
|
+
return (0, signature_1.verifyWithLabel)(publicKey, "GroupInfoTBS", (0, exports.encodeGroupInfoTBS)(gi), gi.signature, s);
|
|
46
|
+
}
|
|
47
|
+
async function verifyGroupInfoConfirmationTag(gi, joinerSecret, pskSecret, cs) {
|
|
48
|
+
const epochSecret = await (0, groupContext_1.extractEpochSecret)(gi.groupContext, joinerSecret, cs.kdf, pskSecret);
|
|
49
|
+
const key = await (0, kdf_1.deriveSecret)(epochSecret, "confirm", cs.kdf);
|
|
50
|
+
return cs.hash.verifyMac(key, gi.confirmationTag, gi.groupContext.confirmedTranscriptHash);
|
|
51
|
+
}
|
|
52
|
+
async function extractWelcomeSecret(joinerSecret, pskSecret, kdf) {
|
|
53
|
+
return (0, kdf_1.deriveSecret)(await kdf.extract(joinerSecret, pskSecret), "welcome", kdf);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=groupInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupInfo.js","sourceRoot":"","sources":["../../src/groupInfo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Decoder } from "./codec/tlsDecoder";
|
|
2
|
+
import { Encoder } from "./codec/tlsEncoder";
|
|
3
|
+
import { PreSharedKeyID } from "./presharedkey";
|
|
4
|
+
export type GroupSecrets = {
|
|
5
|
+
joinerSecret: Uint8Array;
|
|
6
|
+
pathSecret: Uint8Array | undefined;
|
|
7
|
+
psks: PreSharedKeyID[];
|
|
8
|
+
};
|
|
9
|
+
export declare const encodeGroupSecrets: Encoder<GroupSecrets>;
|
|
10
|
+
export declare const decodeGroupSecrets: Decoder<GroupSecrets>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupSecrets.d.ts","sourceRoot":"","sources":["../../src/groupSecrets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAe,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAqB,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE/D,OAAO,EAA4B,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEzE,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,UAAU,CAAA;IACxB,UAAU,EAAE,UAAU,GAAG,SAAS,CAAA;IAClC,IAAI,EAAE,cAAc,EAAE,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,YAAY,CAGpD,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,YAAY,CAGpD,CAAA"}
|