@matter/thread-br-client 0.0.1 → 0.17.5-alpha.0-20260706-fd4c49e2e
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 +201 -0
- package/README.md +5 -5
- package/dist/cjs/coap/CoapClient.d.ts +2 -2
- package/dist/cjs/coap/CoapClient.d.ts.map +1 -1
- package/dist/cjs/coap/CoapClient.js +9 -16
- package/dist/cjs/coap/CoapClient.js.map +1 -1
- package/dist/cjs/coap/CoapMessage.d.ts +11 -6
- package/dist/cjs/coap/CoapMessage.d.ts.map +1 -1
- package/dist/cjs/coap/CoapMessage.js +8 -5
- package/dist/cjs/coap/CoapMessage.js.map +1 -1
- package/dist/cjs/commissioner/Commissioner.d.ts.map +1 -1
- package/dist/cjs/commissioner/Commissioner.js +5 -2
- package/dist/cjs/commissioner/Commissioner.js.map +1 -1
- package/dist/cjs/commissioner/LeadKa.d.ts +3 -3
- package/dist/cjs/commissioner/LeadKa.d.ts.map +1 -1
- package/dist/cjs/commissioner/LeadKa.js +1 -1
- package/dist/cjs/commissioner/LeadKa.js.map +1 -1
- package/dist/cjs/commissioner/LeadPet.d.ts +3 -2
- package/dist/cjs/commissioner/LeadPet.d.ts.map +1 -1
- package/dist/cjs/commissioner/LeadPet.js +4 -3
- package/dist/cjs/commissioner/LeadPet.js.map +1 -1
- package/dist/cjs/credentials/ThreadCredentialsRegistry.d.ts +5 -5
- package/dist/cjs/credentials/ThreadCredentialsRegistry.d.ts.map +1 -1
- package/dist/cjs/credentials/ThreadCredentialsRegistry.js +10 -9
- package/dist/cjs/credentials/ThreadCredentialsRegistry.js.map +1 -1
- package/dist/cjs/credentials/ThreadNetworkCredentials.d.ts +4 -3
- package/dist/cjs/credentials/ThreadNetworkCredentials.d.ts.map +1 -1
- package/dist/cjs/crypto/AesCmacPrf128.d.ts +4 -14
- package/dist/cjs/crypto/AesCmacPrf128.d.ts.map +1 -1
- package/dist/cjs/crypto/AesCmacPrf128.js +7 -71
- package/dist/cjs/crypto/AesCmacPrf128.js.map +2 -2
- package/dist/cjs/crypto/Pbkdf2AesCmac.d.ts +5 -4
- package/dist/cjs/crypto/Pbkdf2AesCmac.d.ts.map +1 -1
- package/dist/cjs/crypto/Pbkdf2AesCmac.js +5 -4
- package/dist/cjs/crypto/Pbkdf2AesCmac.js.map +1 -1
- package/dist/cjs/crypto/Pskc.d.ts +4 -3
- package/dist/cjs/crypto/Pskc.d.ts.map +1 -1
- package/dist/cjs/crypto/Pskc.js +6 -5
- package/dist/cjs/crypto/Pskc.js.map +1 -1
- package/dist/cjs/crypto/index.d.ts +1 -1
- package/dist/cjs/crypto/index.d.ts.map +1 -1
- package/dist/cjs/crypto/index.js +0 -1
- package/dist/cjs/crypto/index.js.map +1 -1
- package/dist/cjs/dataset/OperationalDataset.d.ts +10 -10
- package/dist/cjs/dataset/OperationalDataset.d.ts.map +1 -1
- package/dist/cjs/dataset/OperationalDataset.js +32 -31
- package/dist/cjs/dataset/OperationalDataset.js.map +1 -1
- package/dist/cjs/dataset/SecurityPolicy.d.ts +3 -2
- package/dist/cjs/dataset/SecurityPolicy.d.ts.map +1 -1
- package/dist/cjs/dataset/SecurityPolicy.js +5 -4
- package/dist/cjs/dataset/SecurityPolicy.js.map +1 -1
- package/dist/cjs/diagnostic/DiagnosticResponse.d.ts +5 -4
- package/dist/cjs/diagnostic/DiagnosticResponse.d.ts.map +1 -1
- package/dist/cjs/diagnostic/DiagnosticSource.d.ts +2 -2
- package/dist/cjs/diagnostic/DiagnosticSource.d.ts.map +1 -1
- package/dist/cjs/diagnostic/MeshCopDiagnosticSource.d.ts +7 -3
- package/dist/cjs/diagnostic/MeshCopDiagnosticSource.d.ts.map +1 -1
- package/dist/cjs/diagnostic/MeshCopDiagnosticSource.js +48 -43
- package/dist/cjs/diagnostic/MeshCopDiagnosticSource.js.map +1 -1
- package/dist/cjs/diagnostic/connectMeshcop.d.ts.map +1 -1
- package/dist/cjs/diagnostic/connectMeshcop.js +5 -12
- package/dist/cjs/diagnostic/connectMeshcop.js.map +1 -1
- package/dist/cjs/diagnostic/errors.d.ts +1 -1
- package/dist/cjs/diagnostic/errors.d.ts.map +1 -1
- package/dist/cjs/discovery/BorderRouterRegistry.d.ts.map +1 -1
- package/dist/cjs/discovery/BorderRouterRegistry.js +2 -4
- package/dist/cjs/discovery/BorderRouterRegistry.js.map +1 -1
- package/dist/cjs/dtls/channel/DtlsConnectOpts.d.ts +3 -3
- package/dist/cjs/dtls/channel/DtlsConnectOpts.d.ts.map +1 -1
- package/dist/cjs/dtls/channel/NobleDtlsChannel.d.ts.map +1 -1
- package/dist/cjs/dtls/channel/NobleDtlsChannel.js +89 -58
- package/dist/cjs/dtls/channel/NobleDtlsChannel.js.map +1 -1
- package/dist/cjs/dtls/ecjpake/EcJpakePms.d.ts +5 -4
- package/dist/cjs/dtls/ecjpake/EcJpakePms.d.ts.map +1 -1
- package/dist/cjs/dtls/ecjpake/EcJpakePms.js +4 -5
- package/dist/cjs/dtls/ecjpake/EcJpakePms.js.map +1 -1
- package/dist/cjs/dtls/ecjpake/EcJpakeRound.d.ts +16 -15
- package/dist/cjs/dtls/ecjpake/EcJpakeRound.d.ts.map +1 -1
- package/dist/cjs/dtls/ecjpake/EcJpakeRound.js +40 -29
- package/dist/cjs/dtls/ecjpake/EcJpakeRound.js.map +1 -1
- package/dist/cjs/dtls/ecjpake/SchnorrZkp.d.ts +10 -9
- package/dist/cjs/dtls/ecjpake/SchnorrZkp.d.ts.map +1 -1
- package/dist/cjs/dtls/ecjpake/SchnorrZkp.js +17 -13
- package/dist/cjs/dtls/ecjpake/SchnorrZkp.js.map +1 -1
- package/dist/cjs/dtls/handshake/ChangeCipherSpec.d.ts +2 -1
- package/dist/cjs/dtls/handshake/ChangeCipherSpec.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/ChangeCipherSpec.js +3 -1
- package/dist/cjs/dtls/handshake/ChangeCipherSpec.js.map +1 -1
- package/dist/cjs/dtls/handshake/ClientHelloMessage.d.ts +27 -4
- package/dist/cjs/dtls/handshake/ClientHelloMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/ClientHelloMessage.js +3 -1
- package/dist/cjs/dtls/handshake/ClientHelloMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.d.ts +2 -1
- package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/DtlsClient.d.ts +9 -6
- package/dist/cjs/dtls/handshake/DtlsClient.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/DtlsClient.js +99 -77
- package/dist/cjs/dtls/handshake/DtlsClient.js.map +1 -1
- package/dist/cjs/dtls/handshake/FinishedMessage.d.ts +10 -3
- package/dist/cjs/dtls/handshake/FinishedMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/FinishedMessage.js +4 -2
- package/dist/cjs/dtls/handshake/FinishedMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/HandshakeMessage.d.ts +5 -4
- package/dist/cjs/dtls/handshake/HandshakeMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/HandshakeMessage.js +13 -11
- package/dist/cjs/dtls/handshake/HandshakeMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.d.ts +19 -2
- package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.js +3 -1
- package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.d.ts +2 -1
- package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.js +3 -2
- package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/ServerHelloMessage.d.ts +4 -3
- package/dist/cjs/dtls/handshake/ServerHelloMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/ServerHelloMessage.js +3 -1
- package/dist/cjs/dtls/handshake/ServerHelloMessage.js.map +1 -1
- package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.d.ts +2 -1
- package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.d.ts.map +1 -1
- package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.js.map +1 -1
- package/dist/cjs/dtls/prf/HandshakeTranscript.d.ts +7 -5
- package/dist/cjs/dtls/prf/HandshakeTranscript.d.ts.map +1 -1
- package/dist/cjs/dtls/prf/HandshakeTranscript.js +14 -9
- package/dist/cjs/dtls/prf/HandshakeTranscript.js.map +1 -1
- package/dist/cjs/dtls/prf/TlsPrf.d.ts +23 -22
- package/dist/cjs/dtls/prf/TlsPrf.d.ts.map +1 -1
- package/dist/cjs/dtls/prf/TlsPrf.js +33 -30
- package/dist/cjs/dtls/prf/TlsPrf.js.map +1 -1
- package/dist/cjs/dtls/record/AesCcm8.d.ts +13 -12
- package/dist/cjs/dtls/record/AesCcm8.d.ts.map +1 -1
- package/dist/cjs/dtls/record/AesCcm8.js +12 -34
- package/dist/cjs/dtls/record/AesCcm8.js.map +1 -1
- package/dist/cjs/dtls/record/DtlsCipherState.d.ts +11 -10
- package/dist/cjs/dtls/record/DtlsCipherState.d.ts.map +1 -1
- package/dist/cjs/dtls/record/DtlsCipherState.js +10 -6
- package/dist/cjs/dtls/record/DtlsCipherState.js.map +1 -1
- package/dist/cjs/dtls/record/DtlsRecord.d.ts +10 -10
- package/dist/cjs/dtls/record/DtlsRecord.d.ts.map +1 -1
- package/dist/cjs/dtls/record/DtlsRecord.js +10 -8
- package/dist/cjs/dtls/record/DtlsRecord.js.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestCapability.d.ts +3 -4
- package/dist/cjs/otbr-rest/OtbrRestCapability.d.ts.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestClient.d.ts +27 -8
- package/dist/cjs/otbr-rest/OtbrRestClient.d.ts.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestClient.js +50 -20
- package/dist/cjs/otbr-rest/OtbrRestClient.js.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.d.ts +2 -1
- package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.d.ts.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.js +3 -3
- package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.js.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestProbe.d.ts +6 -4
- package/dist/cjs/otbr-rest/OtbrRestProbe.d.ts.map +1 -1
- package/dist/cjs/otbr-rest/OtbrRestProbe.js +11 -43
- package/dist/cjs/otbr-rest/OtbrRestProbe.js.map +1 -1
- package/dist/cjs/otbr-rest/caseNormalizer.d.ts +7 -0
- package/dist/cjs/otbr-rest/caseNormalizer.d.ts.map +1 -1
- package/dist/cjs/otbr-rest/caseNormalizer.js +11 -0
- package/dist/cjs/otbr-rest/caseNormalizer.js.map +1 -1
- package/dist/cjs/otbr-rest/parseHexBytes.d.ts +22 -0
- package/dist/cjs/otbr-rest/parseHexBytes.d.ts.map +1 -0
- package/dist/cjs/otbr-rest/parseHexBytes.js +50 -0
- package/dist/cjs/otbr-rest/parseHexBytes.js.map +6 -0
- package/dist/cjs/otbr-rest/translation.d.ts +2 -1
- package/dist/cjs/otbr-rest/translation.d.ts.map +1 -1
- package/dist/cjs/otbr-rest/translation.js +20 -22
- package/dist/cjs/otbr-rest/translation.js.map +1 -1
- package/dist/cjs/selection/selectBr.d.ts +8 -4
- package/dist/cjs/selection/selectBr.d.ts.map +1 -1
- package/dist/cjs/selection/selectBr.js +6 -5
- package/dist/cjs/selection/selectBr.js.map +1 -1
- package/dist/cjs/selection/withExtPanIdLock.d.ts +2 -1
- package/dist/cjs/selection/withExtPanIdLock.d.ts.map +1 -1
- package/dist/cjs/selection/withExtPanIdLock.js.map +1 -1
- package/dist/cjs/tlv/BasicTlvCodec.d.ts +4 -4
- package/dist/cjs/tlv/BasicTlvCodec.d.ts.map +1 -1
- package/dist/cjs/tlv/BasicTlvCodec.js +13 -11
- package/dist/cjs/tlv/BasicTlvCodec.js.map +1 -1
- package/dist/cjs/tlv/NetworkDiagnosticTlv.d.ts +3 -2
- package/dist/cjs/tlv/NetworkDiagnosticTlv.d.ts.map +1 -1
- package/dist/cjs/tlv/NetworkDiagnosticTlv.js.map +1 -1
- package/dist/cjs/tlv/TypeListTlv.d.ts +3 -2
- package/dist/cjs/tlv/TypeListTlv.d.ts.map +1 -1
- package/dist/cjs/tlv/TypeListTlv.js +1 -1
- package/dist/cjs/tlv/TypeListTlv.js.map +1 -1
- package/dist/cjs/tlv/diag/ChildIpv6AddressList.d.ts +3 -2
- package/dist/cjs/tlv/diag/ChildIpv6AddressList.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/ChildIpv6AddressList.js +5 -3
- package/dist/cjs/tlv/diag/ChildIpv6AddressList.js.map +1 -1
- package/dist/cjs/tlv/diag/ChildTable.d.ts +3 -2
- package/dist/cjs/tlv/diag/ChildTable.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/ChildTable.js +7 -6
- package/dist/cjs/tlv/diag/ChildTable.js.map +1 -1
- package/dist/cjs/tlv/diag/Connectivity.d.ts +3 -2
- package/dist/cjs/tlv/diag/Connectivity.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/Connectivity.js +14 -14
- package/dist/cjs/tlv/diag/Connectivity.js.map +1 -1
- package/dist/cjs/tlv/diag/Ipv6AddressList.d.ts +3 -2
- package/dist/cjs/tlv/diag/Ipv6AddressList.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/Ipv6AddressList.js +6 -5
- package/dist/cjs/tlv/diag/Ipv6AddressList.js.map +1 -1
- package/dist/cjs/tlv/diag/LeaderData.d.ts +3 -2
- package/dist/cjs/tlv/diag/LeaderData.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/LeaderData.js +8 -7
- package/dist/cjs/tlv/diag/LeaderData.js.map +1 -1
- package/dist/cjs/tlv/diag/MacCounters.d.ts +3 -2
- package/dist/cjs/tlv/diag/MacCounters.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/MacCounters.js +12 -11
- package/dist/cjs/tlv/diag/MacCounters.js.map +1 -1
- package/dist/cjs/tlv/diag/MleCounters.d.ts +3 -2
- package/dist/cjs/tlv/diag/MleCounters.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/MleCounters.js +18 -17
- package/dist/cjs/tlv/diag/MleCounters.js.map +1 -1
- package/dist/cjs/tlv/diag/Mode.d.ts +3 -2
- package/dist/cjs/tlv/diag/Mode.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/Mode.js +5 -3
- package/dist/cjs/tlv/diag/Mode.js.map +1 -1
- package/dist/cjs/tlv/diag/NetworkData.d.ts +7 -6
- package/dist/cjs/tlv/diag/NetworkData.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/NetworkData.js +23 -18
- package/dist/cjs/tlv/diag/NetworkData.js.map +1 -1
- package/dist/cjs/tlv/diag/Primitives.d.ts +15 -14
- package/dist/cjs/tlv/diag/Primitives.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/Primitives.js +25 -19
- package/dist/cjs/tlv/diag/Primitives.js.map +1 -1
- package/dist/cjs/tlv/diag/Route64.d.ts +3 -2
- package/dist/cjs/tlv/diag/Route64.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/Route64.js +8 -7
- package/dist/cjs/tlv/diag/Route64.js.map +1 -1
- package/dist/cjs/tlv/diag/RouterNeighbor.d.ts +3 -2
- package/dist/cjs/tlv/diag/RouterNeighbor.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/RouterNeighbor.js +13 -11
- package/dist/cjs/tlv/diag/RouterNeighbor.js.map +1 -1
- package/dist/cjs/tlv/diag/Timeout.d.ts +3 -2
- package/dist/cjs/tlv/diag/Timeout.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/Timeout.js +4 -3
- package/dist/cjs/tlv/diag/Timeout.js.map +1 -1
- package/dist/cjs/tlv/diag/VendorInfo.d.ts +13 -12
- package/dist/cjs/tlv/diag/VendorInfo.d.ts.map +1 -1
- package/dist/cjs/tlv/diag/VendorInfo.js +4 -3
- package/dist/cjs/tlv/diag/VendorInfo.js.map +1 -1
- package/dist/cjs/tlv/meshcop/Ip6AddressTlv.d.ts +3 -2
- package/dist/cjs/tlv/meshcop/Ip6AddressTlv.d.ts.map +1 -1
- package/dist/cjs/tlv/meshcop/Ip6AddressTlv.js +7 -4
- package/dist/cjs/tlv/meshcop/Ip6AddressTlv.js.map +1 -1
- package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.d.ts +4 -3
- package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.d.ts.map +1 -1
- package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.js +9 -7
- package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.js.map +1 -1
- package/dist/cjs/util/meshLocalAddr.d.ts +5 -4
- package/dist/cjs/util/meshLocalAddr.d.ts.map +1 -1
- package/dist/cjs/util/meshLocalAddr.js +6 -4
- package/dist/cjs/util/meshLocalAddr.js.map +1 -1
- package/dist/esm/coap/CoapClient.d.ts +2 -2
- package/dist/esm/coap/CoapClient.d.ts.map +1 -1
- package/dist/esm/coap/CoapClient.js +11 -17
- package/dist/esm/coap/CoapClient.js.map +1 -1
- package/dist/esm/coap/CoapMessage.d.ts +11 -6
- package/dist/esm/coap/CoapMessage.d.ts.map +1 -1
- package/dist/esm/coap/CoapMessage.js +8 -5
- package/dist/esm/coap/CoapMessage.js.map +1 -1
- package/dist/esm/commissioner/Commissioner.d.ts.map +1 -1
- package/dist/esm/commissioner/Commissioner.js +5 -2
- package/dist/esm/commissioner/Commissioner.js.map +1 -1
- package/dist/esm/commissioner/LeadKa.d.ts +3 -3
- package/dist/esm/commissioner/LeadKa.d.ts.map +1 -1
- package/dist/esm/commissioner/LeadKa.js +2 -2
- package/dist/esm/commissioner/LeadKa.js.map +1 -1
- package/dist/esm/commissioner/LeadPet.d.ts +3 -2
- package/dist/esm/commissioner/LeadPet.d.ts.map +1 -1
- package/dist/esm/commissioner/LeadPet.js +4 -3
- package/dist/esm/commissioner/LeadPet.js.map +1 -1
- package/dist/esm/credentials/ThreadCredentialsRegistry.d.ts +5 -5
- package/dist/esm/credentials/ThreadCredentialsRegistry.d.ts.map +1 -1
- package/dist/esm/credentials/ThreadCredentialsRegistry.js +10 -9
- package/dist/esm/credentials/ThreadCredentialsRegistry.js.map +1 -1
- package/dist/esm/credentials/ThreadNetworkCredentials.d.ts +4 -3
- package/dist/esm/credentials/ThreadNetworkCredentials.d.ts.map +1 -1
- package/dist/esm/crypto/AesCmacPrf128.d.ts +4 -14
- package/dist/esm/crypto/AesCmacPrf128.d.ts.map +1 -1
- package/dist/esm/crypto/AesCmacPrf128.js +8 -72
- package/dist/esm/crypto/AesCmacPrf128.js.map +2 -2
- package/dist/esm/crypto/Pbkdf2AesCmac.d.ts +5 -4
- package/dist/esm/crypto/Pbkdf2AesCmac.d.ts.map +1 -1
- package/dist/esm/crypto/Pbkdf2AesCmac.js +6 -5
- package/dist/esm/crypto/Pbkdf2AesCmac.js.map +1 -1
- package/dist/esm/crypto/Pskc.d.ts +4 -3
- package/dist/esm/crypto/Pskc.d.ts.map +1 -1
- package/dist/esm/crypto/Pskc.js +7 -6
- package/dist/esm/crypto/Pskc.js.map +1 -1
- package/dist/esm/crypto/index.d.ts +1 -1
- package/dist/esm/crypto/index.d.ts.map +1 -1
- package/dist/esm/crypto/index.js +1 -2
- package/dist/esm/crypto/index.js.map +1 -1
- package/dist/esm/dataset/OperationalDataset.d.ts +10 -10
- package/dist/esm/dataset/OperationalDataset.d.ts.map +1 -1
- package/dist/esm/dataset/OperationalDataset.js +32 -31
- package/dist/esm/dataset/OperationalDataset.js.map +1 -1
- package/dist/esm/dataset/SecurityPolicy.d.ts +3 -2
- package/dist/esm/dataset/SecurityPolicy.d.ts.map +1 -1
- package/dist/esm/dataset/SecurityPolicy.js +6 -5
- package/dist/esm/dataset/SecurityPolicy.js.map +1 -1
- package/dist/esm/diagnostic/DiagnosticResponse.d.ts +5 -4
- package/dist/esm/diagnostic/DiagnosticResponse.d.ts.map +1 -1
- package/dist/esm/diagnostic/DiagnosticSource.d.ts +2 -2
- package/dist/esm/diagnostic/DiagnosticSource.d.ts.map +1 -1
- package/dist/esm/diagnostic/MeshCopDiagnosticSource.d.ts +7 -3
- package/dist/esm/diagnostic/MeshCopDiagnosticSource.d.ts.map +1 -1
- package/dist/esm/diagnostic/MeshCopDiagnosticSource.js +49 -43
- package/dist/esm/diagnostic/MeshCopDiagnosticSource.js.map +1 -1
- package/dist/esm/diagnostic/connectMeshcop.d.ts.map +1 -1
- package/dist/esm/diagnostic/connectMeshcop.js +6 -13
- package/dist/esm/diagnostic/connectMeshcop.js.map +1 -1
- package/dist/esm/diagnostic/errors.d.ts +1 -1
- package/dist/esm/diagnostic/errors.d.ts.map +1 -1
- package/dist/esm/discovery/BorderRouterRegistry.d.ts.map +1 -1
- package/dist/esm/discovery/BorderRouterRegistry.js +2 -4
- package/dist/esm/discovery/BorderRouterRegistry.js.map +1 -1
- package/dist/esm/dtls/channel/DtlsConnectOpts.d.ts +3 -3
- package/dist/esm/dtls/channel/DtlsConnectOpts.d.ts.map +1 -1
- package/dist/esm/dtls/channel/NobleDtlsChannel.d.ts.map +1 -1
- package/dist/esm/dtls/channel/NobleDtlsChannel.js +90 -58
- package/dist/esm/dtls/channel/NobleDtlsChannel.js.map +1 -1
- package/dist/esm/dtls/ecjpake/EcJpakePms.d.ts +5 -4
- package/dist/esm/dtls/ecjpake/EcJpakePms.d.ts.map +1 -1
- package/dist/esm/dtls/ecjpake/EcJpakePms.js +5 -6
- package/dist/esm/dtls/ecjpake/EcJpakePms.js.map +1 -1
- package/dist/esm/dtls/ecjpake/EcJpakeRound.d.ts +16 -15
- package/dist/esm/dtls/ecjpake/EcJpakeRound.d.ts.map +1 -1
- package/dist/esm/dtls/ecjpake/EcJpakeRound.js +41 -30
- package/dist/esm/dtls/ecjpake/EcJpakeRound.js.map +1 -1
- package/dist/esm/dtls/ecjpake/SchnorrZkp.d.ts +10 -9
- package/dist/esm/dtls/ecjpake/SchnorrZkp.d.ts.map +1 -1
- package/dist/esm/dtls/ecjpake/SchnorrZkp.js +18 -14
- package/dist/esm/dtls/ecjpake/SchnorrZkp.js.map +1 -1
- package/dist/esm/dtls/handshake/ChangeCipherSpec.d.ts +2 -1
- package/dist/esm/dtls/handshake/ChangeCipherSpec.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/ChangeCipherSpec.js +3 -1
- package/dist/esm/dtls/handshake/ChangeCipherSpec.js.map +1 -1
- package/dist/esm/dtls/handshake/ClientHelloMessage.d.ts +27 -4
- package/dist/esm/dtls/handshake/ClientHelloMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/ClientHelloMessage.js +4 -2
- package/dist/esm/dtls/handshake/ClientHelloMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.d.ts +2 -1
- package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/DtlsClient.d.ts +9 -6
- package/dist/esm/dtls/handshake/DtlsClient.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/DtlsClient.js +100 -78
- package/dist/esm/dtls/handshake/DtlsClient.js.map +1 -1
- package/dist/esm/dtls/handshake/FinishedMessage.d.ts +10 -3
- package/dist/esm/dtls/handshake/FinishedMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/FinishedMessage.js +5 -3
- package/dist/esm/dtls/handshake/FinishedMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/HandshakeMessage.d.ts +5 -4
- package/dist/esm/dtls/handshake/HandshakeMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/HandshakeMessage.js +14 -12
- package/dist/esm/dtls/handshake/HandshakeMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.d.ts +19 -2
- package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.js +3 -1
- package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/ServerHelloDoneMessage.d.ts +2 -1
- package/dist/esm/dtls/handshake/ServerHelloDoneMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/ServerHelloDoneMessage.js +3 -2
- package/dist/esm/dtls/handshake/ServerHelloDoneMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/ServerHelloMessage.d.ts +4 -3
- package/dist/esm/dtls/handshake/ServerHelloMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/ServerHelloMessage.js +3 -1
- package/dist/esm/dtls/handshake/ServerHelloMessage.js.map +1 -1
- package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.d.ts +2 -1
- package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.d.ts.map +1 -1
- package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.js.map +1 -1
- package/dist/esm/dtls/prf/HandshakeTranscript.d.ts +7 -5
- package/dist/esm/dtls/prf/HandshakeTranscript.d.ts.map +1 -1
- package/dist/esm/dtls/prf/HandshakeTranscript.js +15 -10
- package/dist/esm/dtls/prf/HandshakeTranscript.js.map +1 -1
- package/dist/esm/dtls/prf/TlsPrf.d.ts +23 -22
- package/dist/esm/dtls/prf/TlsPrf.d.ts.map +1 -1
- package/dist/esm/dtls/prf/TlsPrf.js +34 -31
- package/dist/esm/dtls/prf/TlsPrf.js.map +1 -1
- package/dist/esm/dtls/record/AesCcm8.d.ts +13 -12
- package/dist/esm/dtls/record/AesCcm8.d.ts.map +1 -1
- package/dist/esm/dtls/record/AesCcm8.js +13 -35
- package/dist/esm/dtls/record/AesCcm8.js.map +1 -1
- package/dist/esm/dtls/record/DtlsCipherState.d.ts +11 -10
- package/dist/esm/dtls/record/DtlsCipherState.d.ts.map +1 -1
- package/dist/esm/dtls/record/DtlsCipherState.js +11 -7
- package/dist/esm/dtls/record/DtlsCipherState.js.map +1 -1
- package/dist/esm/dtls/record/DtlsRecord.d.ts +10 -10
- package/dist/esm/dtls/record/DtlsRecord.d.ts.map +1 -1
- package/dist/esm/dtls/record/DtlsRecord.js +11 -9
- package/dist/esm/dtls/record/DtlsRecord.js.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestCapability.d.ts +3 -4
- package/dist/esm/otbr-rest/OtbrRestCapability.d.ts.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestClient.d.ts +27 -8
- package/dist/esm/otbr-rest/OtbrRestClient.d.ts.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestClient.js +51 -21
- package/dist/esm/otbr-rest/OtbrRestClient.js.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.d.ts +2 -1
- package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.d.ts.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.js +4 -4
- package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.js.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestProbe.d.ts +6 -4
- package/dist/esm/otbr-rest/OtbrRestProbe.d.ts.map +1 -1
- package/dist/esm/otbr-rest/OtbrRestProbe.js +12 -44
- package/dist/esm/otbr-rest/OtbrRestProbe.js.map +1 -1
- package/dist/esm/otbr-rest/caseNormalizer.d.ts +7 -0
- package/dist/esm/otbr-rest/caseNormalizer.d.ts.map +1 -1
- package/dist/esm/otbr-rest/caseNormalizer.js +11 -0
- package/dist/esm/otbr-rest/caseNormalizer.js.map +1 -1
- package/dist/esm/otbr-rest/parseHexBytes.d.ts +22 -0
- package/dist/esm/otbr-rest/parseHexBytes.d.ts.map +1 -0
- package/dist/esm/otbr-rest/parseHexBytes.js +30 -0
- package/dist/esm/otbr-rest/parseHexBytes.js.map +6 -0
- package/dist/esm/otbr-rest/translation.d.ts +2 -1
- package/dist/esm/otbr-rest/translation.d.ts.map +1 -1
- package/dist/esm/otbr-rest/translation.js +16 -18
- package/dist/esm/otbr-rest/translation.js.map +1 -1
- package/dist/esm/selection/selectBr.d.ts +8 -4
- package/dist/esm/selection/selectBr.d.ts.map +1 -1
- package/dist/esm/selection/selectBr.js +6 -5
- package/dist/esm/selection/selectBr.js.map +1 -1
- package/dist/esm/selection/withExtPanIdLock.d.ts +2 -1
- package/dist/esm/selection/withExtPanIdLock.d.ts.map +1 -1
- package/dist/esm/selection/withExtPanIdLock.js.map +1 -1
- package/dist/esm/tlv/BasicTlvCodec.d.ts +4 -4
- package/dist/esm/tlv/BasicTlvCodec.d.ts.map +1 -1
- package/dist/esm/tlv/BasicTlvCodec.js +14 -12
- package/dist/esm/tlv/BasicTlvCodec.js.map +1 -1
- package/dist/esm/tlv/NetworkDiagnosticTlv.d.ts +3 -2
- package/dist/esm/tlv/NetworkDiagnosticTlv.d.ts.map +1 -1
- package/dist/esm/tlv/NetworkDiagnosticTlv.js.map +1 -1
- package/dist/esm/tlv/TypeListTlv.d.ts +3 -2
- package/dist/esm/tlv/TypeListTlv.d.ts.map +1 -1
- package/dist/esm/tlv/TypeListTlv.js +2 -2
- package/dist/esm/tlv/TypeListTlv.js.map +1 -1
- package/dist/esm/tlv/diag/ChildIpv6AddressList.d.ts +3 -2
- package/dist/esm/tlv/diag/ChildIpv6AddressList.d.ts.map +1 -1
- package/dist/esm/tlv/diag/ChildIpv6AddressList.js +5 -3
- package/dist/esm/tlv/diag/ChildIpv6AddressList.js.map +1 -1
- package/dist/esm/tlv/diag/ChildTable.d.ts +3 -2
- package/dist/esm/tlv/diag/ChildTable.d.ts.map +1 -1
- package/dist/esm/tlv/diag/ChildTable.js +8 -7
- package/dist/esm/tlv/diag/ChildTable.js.map +1 -1
- package/dist/esm/tlv/diag/Connectivity.d.ts +3 -2
- package/dist/esm/tlv/diag/Connectivity.d.ts.map +1 -1
- package/dist/esm/tlv/diag/Connectivity.js +14 -14
- package/dist/esm/tlv/diag/Connectivity.js.map +1 -1
- package/dist/esm/tlv/diag/Ipv6AddressList.d.ts +3 -2
- package/dist/esm/tlv/diag/Ipv6AddressList.d.ts.map +1 -1
- package/dist/esm/tlv/diag/Ipv6AddressList.js +7 -6
- package/dist/esm/tlv/diag/Ipv6AddressList.js.map +1 -1
- package/dist/esm/tlv/diag/LeaderData.d.ts +3 -2
- package/dist/esm/tlv/diag/LeaderData.d.ts.map +1 -1
- package/dist/esm/tlv/diag/LeaderData.js +9 -8
- package/dist/esm/tlv/diag/LeaderData.js.map +1 -1
- package/dist/esm/tlv/diag/MacCounters.d.ts +3 -2
- package/dist/esm/tlv/diag/MacCounters.d.ts.map +1 -1
- package/dist/esm/tlv/diag/MacCounters.js +13 -12
- package/dist/esm/tlv/diag/MacCounters.js.map +1 -1
- package/dist/esm/tlv/diag/MleCounters.d.ts +3 -2
- package/dist/esm/tlv/diag/MleCounters.d.ts.map +1 -1
- package/dist/esm/tlv/diag/MleCounters.js +19 -18
- package/dist/esm/tlv/diag/MleCounters.js.map +1 -1
- package/dist/esm/tlv/diag/Mode.d.ts +3 -2
- package/dist/esm/tlv/diag/Mode.d.ts.map +1 -1
- package/dist/esm/tlv/diag/Mode.js +5 -3
- package/dist/esm/tlv/diag/Mode.js.map +1 -1
- package/dist/esm/tlv/diag/NetworkData.d.ts +7 -6
- package/dist/esm/tlv/diag/NetworkData.d.ts.map +1 -1
- package/dist/esm/tlv/diag/NetworkData.js +23 -18
- package/dist/esm/tlv/diag/NetworkData.js.map +1 -1
- package/dist/esm/tlv/diag/Primitives.d.ts +15 -14
- package/dist/esm/tlv/diag/Primitives.d.ts.map +1 -1
- package/dist/esm/tlv/diag/Primitives.js +26 -20
- package/dist/esm/tlv/diag/Primitives.js.map +1 -1
- package/dist/esm/tlv/diag/Route64.d.ts +3 -2
- package/dist/esm/tlv/diag/Route64.d.ts.map +1 -1
- package/dist/esm/tlv/diag/Route64.js +9 -8
- package/dist/esm/tlv/diag/Route64.js.map +1 -1
- package/dist/esm/tlv/diag/RouterNeighbor.d.ts +3 -2
- package/dist/esm/tlv/diag/RouterNeighbor.d.ts.map +1 -1
- package/dist/esm/tlv/diag/RouterNeighbor.js +13 -11
- package/dist/esm/tlv/diag/RouterNeighbor.js.map +1 -1
- package/dist/esm/tlv/diag/Timeout.d.ts +3 -2
- package/dist/esm/tlv/diag/Timeout.d.ts.map +1 -1
- package/dist/esm/tlv/diag/Timeout.js +5 -4
- package/dist/esm/tlv/diag/Timeout.js.map +1 -1
- package/dist/esm/tlv/diag/VendorInfo.d.ts +13 -12
- package/dist/esm/tlv/diag/VendorInfo.d.ts.map +1 -1
- package/dist/esm/tlv/diag/VendorInfo.js +5 -4
- package/dist/esm/tlv/diag/VendorInfo.js.map +1 -1
- package/dist/esm/tlv/meshcop/Ip6AddressTlv.d.ts +3 -2
- package/dist/esm/tlv/meshcop/Ip6AddressTlv.d.ts.map +1 -1
- package/dist/esm/tlv/meshcop/Ip6AddressTlv.js +7 -4
- package/dist/esm/tlv/meshcop/Ip6AddressTlv.js.map +1 -1
- package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.d.ts +4 -3
- package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.d.ts.map +1 -1
- package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.js +10 -8
- package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.js.map +1 -1
- package/dist/esm/util/meshLocalAddr.d.ts +5 -4
- package/dist/esm/util/meshLocalAddr.d.ts.map +1 -1
- package/dist/esm/util/meshLocalAddr.js +7 -5
- package/dist/esm/util/meshLocalAddr.js.map +1 -1
- package/package.json +5 -5
- package/src/coap/CoapClient.ts +13 -20
- package/src/coap/CoapMessage.ts +17 -9
- package/src/commissioner/Commissioner.ts +5 -2
- package/src/commissioner/LeadKa.ts +4 -4
- package/src/commissioner/LeadPet.ts +6 -5
- package/src/credentials/ThreadCredentialsRegistry.ts +14 -13
- package/src/credentials/ThreadNetworkCredentials.ts +5 -3
- package/src/crypto/AesCmacPrf128.ts +10 -87
- package/src/crypto/Pbkdf2AesCmac.ts +14 -10
- package/src/crypto/Pskc.ts +7 -6
- package/src/crypto/index.ts +1 -1
- package/src/dataset/OperationalDataset.ts +48 -47
- package/src/dataset/SecurityPolicy.ts +8 -7
- package/src/diagnostic/DiagnosticResponse.ts +5 -4
- package/src/diagnostic/DiagnosticSource.ts +2 -2
- package/src/diagnostic/MeshCopDiagnosticSource.ts +80 -64
- package/src/diagnostic/connectMeshcop.ts +6 -14
- package/src/diagnostic/errors.ts +1 -1
- package/src/discovery/BorderRouterRegistry.ts +2 -4
- package/src/dtls/channel/DtlsConnectOpts.ts +3 -3
- package/src/dtls/channel/NobleDtlsChannel.ts +96 -60
- package/src/dtls/ecjpake/EcJpakePms.ts +5 -6
- package/src/dtls/ecjpake/EcJpakeRound.ts +57 -37
- package/src/dtls/ecjpake/SchnorrZkp.ts +43 -30
- package/src/dtls/handshake/ChangeCipherSpec.ts +3 -1
- package/src/dtls/handshake/ClientHelloMessage.ts +8 -6
- package/src/dtls/handshake/ClientKeyExchangeMessage.ts +2 -1
- package/src/dtls/handshake/DtlsClient.ts +119 -95
- package/src/dtls/handshake/FinishedMessage.ts +5 -3
- package/src/dtls/handshake/HandshakeMessage.ts +18 -16
- package/src/dtls/handshake/HelloVerifyRequestMessage.ts +3 -1
- package/src/dtls/handshake/ServerHelloDoneMessage.ts +5 -3
- package/src/dtls/handshake/ServerHelloMessage.ts +5 -3
- package/src/dtls/handshake/ServerKeyExchangeMessage.ts +2 -1
- package/src/dtls/prf/HandshakeTranscript.ts +18 -11
- package/src/dtls/prf/TlsPrf.ts +68 -54
- package/src/dtls/record/AesCcm8.ts +23 -49
- package/src/dtls/record/DtlsCipherState.ts +20 -16
- package/src/dtls/record/DtlsRecord.ts +17 -15
- package/src/otbr-rest/OtbrRestCapability.ts +4 -4
- package/src/otbr-rest/OtbrRestClient.ts +64 -29
- package/src/otbr-rest/OtbrRestDiagnosticSource.ts +5 -5
- package/src/otbr-rest/OtbrRestProbe.ts +12 -47
- package/src/otbr-rest/caseNormalizer.ts +17 -0
- package/src/otbr-rest/parseHexBytes.ts +47 -0
- package/src/otbr-rest/translation.ts +24 -22
- package/src/selection/selectBr.ts +26 -13
- package/src/selection/withExtPanIdLock.ts +1 -1
- package/src/tlv/BasicTlvCodec.ts +17 -15
- package/src/tlv/NetworkDiagnosticTlv.ts +3 -2
- package/src/tlv/TypeListTlv.ts +4 -4
- package/src/tlv/diag/ChildIpv6AddressList.ts +8 -5
- package/src/tlv/diag/ChildTable.ts +10 -9
- package/src/tlv/diag/Connectivity.ts +16 -16
- package/src/tlv/diag/Ipv6AddressList.ts +9 -8
- package/src/tlv/diag/LeaderData.ts +11 -10
- package/src/tlv/diag/MacCounters.ts +15 -14
- package/src/tlv/diag/MleCounters.ts +21 -20
- package/src/tlv/diag/Mode.ts +7 -5
- package/src/tlv/diag/NetworkData.ts +31 -26
- package/src/tlv/diag/Primitives.ts +42 -36
- package/src/tlv/diag/Route64.ts +11 -10
- package/src/tlv/diag/RouterNeighbor.ts +16 -13
- package/src/tlv/diag/Timeout.ts +7 -6
- package/src/tlv/diag/VendorInfo.ts +19 -18
- package/src/tlv/meshcop/Ip6AddressTlv.ts +9 -6
- package/src/tlv/meshcop/UdpEncapsulationTlv.ts +13 -11
- package/src/util/meshLocalAddr.ts +10 -8
|
@@ -49,15 +49,16 @@ var import_ServerKeyExchangeMessage = require("./ServerKeyExchangeMessage.js");
|
|
|
49
49
|
const RANDOM_LEN = 32;
|
|
50
50
|
function bigintFromBE(bytes) {
|
|
51
51
|
let v = 0n;
|
|
52
|
-
for (const byte of bytes) {
|
|
52
|
+
for (const byte of import_general.Bytes.of(bytes)) {
|
|
53
53
|
v = v << 8n | BigInt(byte);
|
|
54
54
|
}
|
|
55
55
|
return v;
|
|
56
56
|
}
|
|
57
57
|
class DtlsClient {
|
|
58
58
|
#config;
|
|
59
|
+
#crypto;
|
|
59
60
|
#state = "initial";
|
|
60
|
-
#transcript
|
|
61
|
+
#transcript;
|
|
61
62
|
#handshakeMessageSeq = 0;
|
|
62
63
|
#recordSeq = 0n;
|
|
63
64
|
#lastFlight = new Array();
|
|
@@ -75,6 +76,8 @@ class DtlsClient {
|
|
|
75
76
|
#cipherState;
|
|
76
77
|
constructor(config) {
|
|
77
78
|
this.#config = config;
|
|
79
|
+
this.#crypto = config.crypto;
|
|
80
|
+
this.#transcript = new import_HandshakeTranscript.HandshakeTranscript(this.#crypto);
|
|
78
81
|
}
|
|
79
82
|
state() {
|
|
80
83
|
return this.#state;
|
|
@@ -91,11 +94,11 @@ class DtlsClient {
|
|
|
91
94
|
return this.#cipherState;
|
|
92
95
|
}
|
|
93
96
|
/** Initial flight: ClientHello with empty cookie. */
|
|
94
|
-
start() {
|
|
97
|
+
async start() {
|
|
95
98
|
if (this.#state !== "initial") {
|
|
96
99
|
throw new import_general.ImplementationError(`DtlsClient.start() called in state '${this.#state}'`);
|
|
97
100
|
}
|
|
98
|
-
const random = this.#config.random();
|
|
101
|
+
const random = import_general.Bytes.of(this.#config.random());
|
|
99
102
|
if (random.length !== RANDOM_LEN) {
|
|
100
103
|
throw new import_general.ImplementationError(
|
|
101
104
|
`DtlsClient config.random() returned ${random.length} bytes, need ${RANDOM_LEN}`
|
|
@@ -106,34 +109,35 @@ class DtlsClient {
|
|
|
106
109
|
const x2 = this.#config.ephemeralScalar();
|
|
107
110
|
const v1 = this.#config.ephemeralScalar();
|
|
108
111
|
const v2 = this.#config.ephemeralScalar();
|
|
109
|
-
const round1 = import_EcJpakeRound.EcJpakeRound.buildRound1({ x1, x2, v1, v2, id: import_EcJpakeRound.ECJPAKE_ID_CLIENT });
|
|
112
|
+
const round1 = await import_EcJpakeRound.EcJpakeRound.buildRound1(this.#crypto, { x1, x2, v1, v2, id: import_EcJpakeRound.ECJPAKE_ID_CLIENT });
|
|
110
113
|
this.#x2 = x2;
|
|
111
114
|
this.#X1 = round1.kp1.X;
|
|
112
115
|
this.#X2 = round1.kp2.X;
|
|
113
116
|
this.#round1Bytes = import_EcJpakeRound.EcJpakeRound.serializeRound1(round1.kp1, round1.kp2);
|
|
114
|
-
const records = this.#emitClientHello(new Uint8Array(0), false);
|
|
117
|
+
const records = await this.#emitClientHello(new Uint8Array(0), false);
|
|
115
118
|
this.#state = "sent_first_clienthello";
|
|
116
119
|
return { records };
|
|
117
120
|
}
|
|
118
121
|
/** Re-emit the last flight bytes-identically (RFC 6347 §4.2.4). */
|
|
119
|
-
onRetransmit() {
|
|
122
|
+
async onRetransmit() {
|
|
120
123
|
if (this.#state === "initial" || this.#state === "established" || this.#state === "failed") {
|
|
121
124
|
throw new import_general.ImplementationError(`DtlsClient.onRetransmit() called in state '${this.#state}'`);
|
|
122
125
|
}
|
|
123
126
|
return { records: this.#lastFlight.map((r) => r.slice()) };
|
|
124
127
|
}
|
|
125
|
-
onDatagram(bytes) {
|
|
128
|
+
async onDatagram(bytes) {
|
|
126
129
|
if (this.#state === "established" || this.#state === "failed" || this.#state === "initial") {
|
|
127
130
|
throw new import_general.ImplementationError(`DtlsClient.onDatagram() called in state '${this.#state}'`);
|
|
128
131
|
}
|
|
132
|
+
const buf = import_general.Bytes.of(bytes);
|
|
129
133
|
try {
|
|
130
134
|
switch (this.#state) {
|
|
131
135
|
case "sent_first_clienthello":
|
|
132
|
-
return this.#handleHelloVerifyOrServerHello(this.#splitDatagramIntoRecords(
|
|
136
|
+
return await this.#handleHelloVerifyOrServerHello(await this.#splitDatagramIntoRecords(buf));
|
|
133
137
|
case "sent_clienthello_with_cookie":
|
|
134
|
-
return this.#handleServerHelloFlight(this.#splitDatagramIntoRecords(
|
|
138
|
+
return await this.#handleServerHelloFlight(await this.#splitDatagramIntoRecords(buf));
|
|
135
139
|
case "sent_clientkeyexchange_flight":
|
|
136
|
-
return this.#handleServerFinishedFlightLazy(
|
|
140
|
+
return await this.#handleServerFinishedFlightLazy(buf);
|
|
137
141
|
default:
|
|
138
142
|
throw new import_general.InternalError(`DtlsClient: state ${this.#state} cannot consume a datagram`);
|
|
139
143
|
}
|
|
@@ -144,12 +148,12 @@ class DtlsClient {
|
|
|
144
148
|
}
|
|
145
149
|
// -----------------------------------------------------------------------
|
|
146
150
|
// Datagram / record splitting
|
|
147
|
-
#splitDatagramIntoRecords(bytes) {
|
|
151
|
+
async #splitDatagramIntoRecords(bytes) {
|
|
148
152
|
const out = new Array();
|
|
149
153
|
let p = 0;
|
|
150
154
|
while (p < bytes.length) {
|
|
151
|
-
const { record, consumed } = import_DtlsRecord.DtlsRecord.decode(bytes.subarray(p), this.#cipherState);
|
|
152
|
-
out.push(record);
|
|
155
|
+
const { record, consumed } = await import_DtlsRecord.DtlsRecord.decode(this.#crypto, bytes.subarray(p), this.#cipherState);
|
|
156
|
+
out.push({ ...record, fragment: import_general.Bytes.of(record.fragment) });
|
|
153
157
|
p += consumed;
|
|
154
158
|
}
|
|
155
159
|
return out;
|
|
@@ -175,7 +179,7 @@ class DtlsClient {
|
|
|
175
179
|
}
|
|
176
180
|
// -----------------------------------------------------------------------
|
|
177
181
|
// Outbound encoding helpers
|
|
178
|
-
#emitClientHello(cookie, contributesToTranscript) {
|
|
182
|
+
async #emitClientHello(cookie, contributesToTranscript) {
|
|
179
183
|
const body = import_ClientHelloMessage.ClientHelloMessage.build({
|
|
180
184
|
random: this.#clientRandom,
|
|
181
185
|
cookie,
|
|
@@ -195,12 +199,14 @@ class DtlsClient {
|
|
|
195
199
|
})
|
|
196
200
|
);
|
|
197
201
|
}
|
|
198
|
-
const record =
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
202
|
+
const record = import_general.Bytes.of(
|
|
203
|
+
await import_DtlsRecord.DtlsRecord.encode(this.#crypto, {
|
|
204
|
+
type: import_ContentType.ContentType.HANDSHAKE,
|
|
205
|
+
epoch: 0,
|
|
206
|
+
sequenceNumber: this.#recordSeq,
|
|
207
|
+
fragment: handshake
|
|
208
|
+
})
|
|
209
|
+
);
|
|
204
210
|
this.#recordSeq += 1n;
|
|
205
211
|
this.#handshakeMessageSeq += 1;
|
|
206
212
|
this.#lastFlight = [record];
|
|
@@ -208,19 +214,19 @@ class DtlsClient {
|
|
|
208
214
|
}
|
|
209
215
|
// -----------------------------------------------------------------------
|
|
210
216
|
// State handlers
|
|
211
|
-
#handleHelloVerifyOrServerHello(records) {
|
|
217
|
+
async #handleHelloVerifyOrServerHello(records) {
|
|
212
218
|
const messages = this.#extractHandshakeMessages(records);
|
|
213
219
|
if (messages.length === 0) {
|
|
214
220
|
throw new import_DtlsChannel.DtlsError("DtlsClient: expected handshake message, got none");
|
|
215
221
|
}
|
|
216
222
|
if (messages[0].msgType === import_HandshakeType.HandshakeType.HELLO_VERIFY_REQUEST) {
|
|
217
223
|
const { cookie } = import_HelloVerifyRequestMessage.HelloVerifyRequestMessage.parse(messages[0].body);
|
|
218
|
-
this.#transcript = new import_HandshakeTranscript.HandshakeTranscript();
|
|
219
|
-
const records2 = this.#emitClientHello(cookie, true);
|
|
224
|
+
this.#transcript = new import_HandshakeTranscript.HandshakeTranscript(this.#crypto);
|
|
225
|
+
const records2 = await this.#emitClientHello(cookie, true);
|
|
220
226
|
this.#state = "sent_clienthello_with_cookie";
|
|
221
227
|
return { records: records2 };
|
|
222
228
|
}
|
|
223
|
-
this.#transcript = new import_HandshakeTranscript.HandshakeTranscript();
|
|
229
|
+
this.#transcript = new import_HandshakeTranscript.HandshakeTranscript(this.#crypto);
|
|
224
230
|
const firstHelloBody = import_ClientHelloMessage.ClientHelloMessage.build({
|
|
225
231
|
random: this.#clientRandom,
|
|
226
232
|
cookie: new Uint8Array(0),
|
|
@@ -233,13 +239,13 @@ class DtlsClient {
|
|
|
233
239
|
body: firstHelloBody
|
|
234
240
|
})
|
|
235
241
|
);
|
|
236
|
-
return this.#consumeServerFlight(messages);
|
|
242
|
+
return await this.#consumeServerFlight(messages);
|
|
237
243
|
}
|
|
238
|
-
#handleServerHelloFlight(records) {
|
|
244
|
+
async #handleServerHelloFlight(records) {
|
|
239
245
|
const messages = this.#extractHandshakeMessages(records);
|
|
240
|
-
return this.#consumeServerFlight(messages);
|
|
246
|
+
return await this.#consumeServerFlight(messages);
|
|
241
247
|
}
|
|
242
|
-
#consumeServerFlight(messages) {
|
|
248
|
+
async #consumeServerFlight(messages) {
|
|
243
249
|
if (messages.length < 3) {
|
|
244
250
|
throw new import_DtlsChannel.DtlsError(
|
|
245
251
|
`DtlsClient: server flight needs ServerHello+ServerKeyExchange+ServerHelloDone, got ${messages.length} message(s)`
|
|
@@ -265,14 +271,14 @@ class DtlsClient {
|
|
|
265
271
|
const serverRound1 = import_EcJpakeRound.EcJpakeRound.parseRound1(parsedSh.ecjpakeKkpp);
|
|
266
272
|
this.#X3 = serverRound1.kp1.X;
|
|
267
273
|
this.#X4 = serverRound1.kp2.X;
|
|
268
|
-
if (!import_SchnorrZkp.SchnorrZkp.verify({
|
|
274
|
+
if (!await import_SchnorrZkp.SchnorrZkp.verify(this.#crypto, {
|
|
269
275
|
zkp: serverRound1.kp1.zkp,
|
|
270
276
|
publicKey: serverRound1.kp1.X,
|
|
271
277
|
id: import_EcJpakeRound.ECJPAKE_ID_SERVER
|
|
272
278
|
})) {
|
|
273
279
|
throw new import_DtlsChannel.DtlsError("DtlsClient: server round-1 KP1 ZKP verification failed");
|
|
274
280
|
}
|
|
275
|
-
if (!import_SchnorrZkp.SchnorrZkp.verify({
|
|
281
|
+
if (!await import_SchnorrZkp.SchnorrZkp.verify(this.#crypto, {
|
|
276
282
|
zkp: serverRound1.kp2.zkp,
|
|
277
283
|
publicKey: serverRound1.kp2.X,
|
|
278
284
|
id: import_EcJpakeRound.ECJPAKE_ID_SERVER
|
|
@@ -285,7 +291,7 @@ class DtlsClient {
|
|
|
285
291
|
Xp2: this.#X2,
|
|
286
292
|
Xm1: this.#X3
|
|
287
293
|
});
|
|
288
|
-
if (!import_EcJpakeRound.EcJpakeRound.verifyRound2Zkp({
|
|
294
|
+
if (!await import_EcJpakeRound.EcJpakeRound.verifyRound2Zkp(this.#crypto, {
|
|
289
295
|
kp: skeKp,
|
|
290
296
|
generator: serverGenerator,
|
|
291
297
|
peerId: import_EcJpakeRound.ECJPAKE_ID_SERVER
|
|
@@ -297,13 +303,13 @@ class DtlsClient {
|
|
|
297
303
|
this.#transcript.appendHandshakeMessage(ske.transcriptBytes);
|
|
298
304
|
this.#transcript.appendHandshakeMessage(shd.transcriptBytes);
|
|
299
305
|
this.#state = "received_serverhello_flight";
|
|
300
|
-
return this.#emitClientFlight(skeKp.X);
|
|
306
|
+
return await this.#emitClientFlight(skeKp.X);
|
|
301
307
|
}
|
|
302
308
|
/**
|
|
303
309
|
* Build the client's CKE + CCS + Finished flight and arm the cipher state.
|
|
304
310
|
* `serverRound2X` is the server's round-2 public point (`Xp` for the PMS derivation).
|
|
305
311
|
*/
|
|
306
|
-
#emitClientFlight(serverRound2X) {
|
|
312
|
+
async #emitClientFlight(serverRound2X) {
|
|
307
313
|
if (this.#X3 === void 0 || this.#X4 === void 0 || this.#serverRandom === void 0) {
|
|
308
314
|
throw new import_general.InternalError("DtlsClient: emitClientFlight called before server flight was parsed");
|
|
309
315
|
}
|
|
@@ -314,7 +320,7 @@ class DtlsClient {
|
|
|
314
320
|
Xp2: this.#X4,
|
|
315
321
|
Xm1: this.#X1
|
|
316
322
|
});
|
|
317
|
-
const clientRound2 = import_EcJpakeRound.EcJpakeRound.buildRound2({
|
|
323
|
+
const clientRound2 = await import_EcJpakeRound.EcJpakeRound.buildRound2(this.#crypto, {
|
|
318
324
|
xm2: this.#x2,
|
|
319
325
|
s,
|
|
320
326
|
v: v3,
|
|
@@ -336,19 +342,21 @@ class DtlsClient {
|
|
|
336
342
|
body: ckeBody
|
|
337
343
|
})
|
|
338
344
|
);
|
|
339
|
-
const pms = import_EcJpakePms.EcJpakePms.derive({
|
|
345
|
+
const pms = await import_EcJpakePms.EcJpakePms.derive(this.#crypto, {
|
|
340
346
|
Xp: serverRound2X,
|
|
341
347
|
Xp2: this.#X4,
|
|
342
348
|
xm2: this.#x2,
|
|
343
349
|
s
|
|
344
350
|
});
|
|
345
|
-
const masterSecret =
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
351
|
+
const masterSecret = import_general.Bytes.of(
|
|
352
|
+
await import_TlsPrf.TlsPrf.masterSecret(this.#crypto, {
|
|
353
|
+
premasterSecret: pms,
|
|
354
|
+
clientRandom: this.#clientRandom,
|
|
355
|
+
serverRandom: this.#serverRandom
|
|
356
|
+
})
|
|
357
|
+
);
|
|
350
358
|
this.#masterSecret = masterSecret;
|
|
351
|
-
const keyBlock = import_TlsPrf.TlsPrf.keyBlock({
|
|
359
|
+
const keyBlock = await import_TlsPrf.TlsPrf.keyBlock(this.#crypto, {
|
|
352
360
|
masterSecret,
|
|
353
361
|
clientRandom: this.#clientRandom,
|
|
354
362
|
serverRandom: this.#serverRandom
|
|
@@ -360,11 +368,13 @@ class DtlsClient {
|
|
|
360
368
|
serverWriteSalt: keyBlock.serverWriteIv
|
|
361
369
|
});
|
|
362
370
|
this.#cipherState = cipherState;
|
|
363
|
-
const verifyData =
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
371
|
+
const verifyData = import_general.Bytes.of(
|
|
372
|
+
await import_TlsPrf.TlsPrf.verifyData(this.#crypto, {
|
|
373
|
+
masterSecret,
|
|
374
|
+
role: "client",
|
|
375
|
+
transcriptDigest: await this.#transcript.digest()
|
|
376
|
+
})
|
|
377
|
+
);
|
|
368
378
|
const finishedBody = import_FinishedMessage.FinishedMessage.build(verifyData);
|
|
369
379
|
const finishedMsgSeq = this.#handshakeMessageSeq;
|
|
370
380
|
const finishedHandshake = import_HandshakeMessage.HandshakeMessage.encode({
|
|
@@ -380,30 +390,37 @@ class DtlsClient {
|
|
|
380
390
|
body: finishedBody
|
|
381
391
|
})
|
|
382
392
|
);
|
|
383
|
-
const ckeRecord =
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
393
|
+
const ckeRecord = import_general.Bytes.of(
|
|
394
|
+
await import_DtlsRecord.DtlsRecord.encode(this.#crypto, {
|
|
395
|
+
type: import_ContentType.ContentType.HANDSHAKE,
|
|
396
|
+
epoch: 0,
|
|
397
|
+
sequenceNumber: this.#recordSeq,
|
|
398
|
+
fragment: ckeHandshake
|
|
399
|
+
})
|
|
400
|
+
);
|
|
389
401
|
this.#recordSeq += 1n;
|
|
390
|
-
const ccsRecord =
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
402
|
+
const ccsRecord = import_general.Bytes.of(
|
|
403
|
+
await import_DtlsRecord.DtlsRecord.encode(this.#crypto, {
|
|
404
|
+
type: import_ContentType.ContentType.CHANGE_CIPHER_SPEC,
|
|
405
|
+
epoch: 0,
|
|
406
|
+
sequenceNumber: this.#recordSeq,
|
|
407
|
+
fragment: import_ChangeCipherSpec.CHANGE_CIPHER_SPEC_BODY
|
|
408
|
+
})
|
|
409
|
+
);
|
|
396
410
|
this.#recordSeq += 1n;
|
|
397
411
|
cipherState.advanceWriteEpoch();
|
|
398
412
|
const finishedSeq = cipherState.nextWriteSeq();
|
|
399
|
-
const finishedRecord =
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
413
|
+
const finishedRecord = import_general.Bytes.of(
|
|
414
|
+
await import_DtlsRecord.DtlsRecord.encode(
|
|
415
|
+
this.#crypto,
|
|
416
|
+
{
|
|
417
|
+
type: import_ContentType.ContentType.HANDSHAKE,
|
|
418
|
+
epoch: cipherState.writeEpoch,
|
|
419
|
+
sequenceNumber: finishedSeq,
|
|
420
|
+
fragment: finishedHandshake
|
|
421
|
+
},
|
|
422
|
+
cipherState
|
|
423
|
+
)
|
|
407
424
|
);
|
|
408
425
|
const flight = [ckeRecord, ccsRecord, finishedRecord];
|
|
409
426
|
this.#lastFlight = flight;
|
|
@@ -417,7 +434,7 @@ class DtlsClient {
|
|
|
417
434
|
* `DtlsRecord.decode` for both records would feed CCS to the codec only after the
|
|
418
435
|
* decrypt of the Finished record had already failed with a wrong-epoch error.
|
|
419
436
|
*/
|
|
420
|
-
#handleServerFinishedFlightLazy(bytes) {
|
|
437
|
+
async #handleServerFinishedFlightLazy(bytes) {
|
|
421
438
|
const cipherState = this.#cipherState;
|
|
422
439
|
const masterSecret = this.#masterSecret;
|
|
423
440
|
if (cipherState === void 0 || masterSecret === void 0) {
|
|
@@ -439,7 +456,7 @@ class DtlsClient {
|
|
|
439
456
|
}
|
|
440
457
|
const recordBytes = bytes.subarray(p, recordEnd);
|
|
441
458
|
const stateForDecode = epoch === 0 ? void 0 : cipherState;
|
|
442
|
-
const { record } = import_DtlsRecord.DtlsRecord.decode(recordBytes, stateForDecode);
|
|
459
|
+
const { record } = await import_DtlsRecord.DtlsRecord.decode(this.#crypto, recordBytes, stateForDecode);
|
|
443
460
|
if (record.type === import_ContentType.ContentType.CHANGE_CIPHER_SPEC) {
|
|
444
461
|
import_ChangeCipherSpec.ChangeCipherSpec.parse(record.fragment);
|
|
445
462
|
cipherState.advanceReadEpoch();
|
|
@@ -453,9 +470,10 @@ class DtlsClient {
|
|
|
453
470
|
`DtlsClient: server Finished record at epoch ${record.epoch}, expected ${cipherState.readEpoch}`
|
|
454
471
|
);
|
|
455
472
|
}
|
|
473
|
+
const fragment = import_general.Bytes.of(record.fragment);
|
|
456
474
|
let q = 0;
|
|
457
|
-
while (q <
|
|
458
|
-
const { message, consumed } = import_HandshakeMessage.HandshakeMessage.decode(
|
|
475
|
+
while (q < fragment.length) {
|
|
476
|
+
const { message, consumed } = import_HandshakeMessage.HandshakeMessage.decode(fragment.subarray(q));
|
|
459
477
|
if (message.msgType !== import_HandshakeType.HandshakeType.FINISHED) {
|
|
460
478
|
throw new import_DtlsChannel.DtlsError(`DtlsClient: expected Finished, got msg_type=${message.msgType}`);
|
|
461
479
|
}
|
|
@@ -469,11 +487,13 @@ class DtlsClient {
|
|
|
469
487
|
if (serverFinishedBody === void 0) {
|
|
470
488
|
throw new import_DtlsChannel.DtlsError("DtlsClient: server flight missing Finished message");
|
|
471
489
|
}
|
|
472
|
-
const expected =
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
490
|
+
const expected = import_general.Bytes.of(
|
|
491
|
+
await import_TlsPrf.TlsPrf.verifyData(this.#crypto, {
|
|
492
|
+
masterSecret,
|
|
493
|
+
role: "server",
|
|
494
|
+
transcriptDigest: await this.#transcript.digest()
|
|
495
|
+
})
|
|
496
|
+
);
|
|
477
497
|
const actual = import_FinishedMessage.FinishedMessage.parse(serverFinishedBody).verifyData;
|
|
478
498
|
if (!constantTimeEqual(expected, actual)) {
|
|
479
499
|
throw new import_DtlsChannel.DtlsError("DtlsClient: server Finished verify_data mismatch");
|
|
@@ -489,7 +509,9 @@ class DtlsClient {
|
|
|
489
509
|
return { records: [] };
|
|
490
510
|
}
|
|
491
511
|
}
|
|
492
|
-
function constantTimeEqual(
|
|
512
|
+
function constantTimeEqual(rawA, rawB) {
|
|
513
|
+
const a = import_general.Bytes.of(rawA);
|
|
514
|
+
const b = import_general.Bytes.of(rawB);
|
|
493
515
|
if (a.length !== b.length || a.length !== import_FinishedMessage.FINISHED_VERIFY_DATA_LEN) {
|
|
494
516
|
return false;
|
|
495
517
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/dtls/handshake/DtlsClient.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,10 +3,17 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* Finished message body codec (RFC 5246 §7.4.9). The body is exactly the
|
|
8
|
+
* 12-byte `verify_data` from the TLS PRF; the wider machinery — choosing
|
|
9
|
+
* the role label, snapshotting the transcript, computing the PRF — sits in
|
|
10
|
+
* `TlsPrf.verifyData` and the state machine.
|
|
11
|
+
*/
|
|
12
|
+
import { Bytes } from "@matter/general";
|
|
6
13
|
export declare const FinishedMessage: {
|
|
7
|
-
build(
|
|
8
|
-
parse(
|
|
9
|
-
verifyData:
|
|
14
|
+
build(rawVerifyData: Bytes): Bytes;
|
|
15
|
+
parse(rawBody: Bytes): {
|
|
16
|
+
verifyData: Bytes;
|
|
10
17
|
};
|
|
11
18
|
};
|
|
12
19
|
export declare const FINISHED_VERIFY_DATA_LEN = 12;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FinishedMessage.d.ts","sourceRoot":"","sources":["../../../../src/dtls/handshake/FinishedMessage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"FinishedMessage.d.ts","sourceRoot":"","sources":["../../../../src/dtls/handshake/FinishedMessage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAiB,MAAM,iBAAiB,CAAC;AAKvD,eAAO,MAAM,eAAe;IACxB,KAAK,gBAAgB,KAAK,GAAG,KAAK;IASlC,KAAK,UAAU,KAAK,GAAG;QAAE,UAAU,EAAE,KAAK,CAAA;KAAE;CAOtC,CAAC;AAEX,eAAO,MAAM,wBAAwB,KAAkB,CAAC"}
|
|
@@ -31,13 +31,15 @@ var import_DtlsChannel = require("../channel/DtlsChannel.js");
|
|
|
31
31
|
*/
|
|
32
32
|
const VERIFY_DATA_LEN = 12;
|
|
33
33
|
const FinishedMessage = {
|
|
34
|
-
build(
|
|
34
|
+
build(rawVerifyData) {
|
|
35
|
+
const verifyData = import_general.Bytes.of(rawVerifyData);
|
|
35
36
|
if (verifyData.length !== VERIFY_DATA_LEN) {
|
|
36
37
|
throw new import_general.InternalError(`Finished verify_data must be ${VERIFY_DATA_LEN} bytes, got ${verifyData.length}`);
|
|
37
38
|
}
|
|
38
39
|
return verifyData.slice();
|
|
39
40
|
},
|
|
40
|
-
parse(
|
|
41
|
+
parse(rawBody) {
|
|
42
|
+
const body = import_general.Bytes.of(rawBody);
|
|
41
43
|
if (body.length !== VERIFY_DATA_LEN) {
|
|
42
44
|
throw new import_DtlsChannel.DtlsError(`Finished body must be ${VERIFY_DATA_LEN} bytes, got ${body.length}`);
|
|
43
45
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/dtls/handshake/FinishedMessage.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,qBAAqC;AACrC,yBAA0B;AAd1B;AAAA;AAAA;AAAA;AAAA;AAgBA,MAAM,kBAAkB;AAEjB,MAAM,kBAAkB;AAAA,EAC3B,MAAM,eAA6B;AAC/B,UAAM,aAAa,qBAAM,GAAG,aAAa;AACzC,QAAI,WAAW,WAAW,iBAAiB;AACvC,YAAM,IAAI,6BAAc,gCAAgC,eAAe,eAAe,WAAW,MAAM,EAAE;AAAA,IAC7G;AAEA,WAAO,WAAW,MAAM;AAAA,EAC5B;AAAA,EAEA,MAAM,SAAuC;AACzC,UAAM,OAAO,qBAAM,GAAG,OAAO;AAC7B,QAAI,KAAK,WAAW,iBAAiB;AACjC,YAAM,IAAI,6BAAU,yBAAyB,eAAe,eAAe,KAAK,MAAM,EAAE;AAAA,IAC5F;AACA,WAAO,EAAE,YAAY,KAAK,MAAM,EAAE;AAAA,EACtC;AACJ;AAEO,MAAM,2BAA2B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Bytes } from "@matter/general";
|
|
6
7
|
import { HandshakeType } from "./HandshakeType.js";
|
|
7
8
|
/** Length of the DTLS 1.2 handshake message header (RFC 6347 §4.2.2). */
|
|
8
9
|
export declare const DTLS_HANDSHAKE_HEADER_LEN = 12;
|
|
@@ -24,7 +25,7 @@ export declare const UINT24_MAX: number;
|
|
|
24
25
|
export interface HandshakeMessage {
|
|
25
26
|
msgType: HandshakeType;
|
|
26
27
|
messageSeq: number;
|
|
27
|
-
body:
|
|
28
|
+
body: Bytes;
|
|
28
29
|
}
|
|
29
30
|
/**
|
|
30
31
|
* DTLS 1.2 handshake message envelope codec (RFC 6347 §4.2.2).
|
|
@@ -47,12 +48,12 @@ export interface HandshakeMessage {
|
|
|
47
48
|
* `fragment_length=length`).
|
|
48
49
|
*/
|
|
49
50
|
export declare namespace HandshakeMessage {
|
|
50
|
-
function encode(message: HandshakeMessage):
|
|
51
|
-
function encodeForTranscript(message: HandshakeMessage):
|
|
51
|
+
function encode(message: HandshakeMessage): Bytes;
|
|
52
|
+
function encodeForTranscript(message: HandshakeMessage): Bytes;
|
|
52
53
|
interface DecodeResult {
|
|
53
54
|
message: HandshakeMessage;
|
|
54
55
|
consumed: number;
|
|
55
56
|
}
|
|
56
|
-
function decode(bytes:
|
|
57
|
+
function decode(bytes: Bytes): DecodeResult;
|
|
57
58
|
}
|
|
58
59
|
//# sourceMappingURL=HandshakeMessage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandshakeMessage.d.ts","sourceRoot":"","sources":["../../../../src/dtls/handshake/HandshakeMessage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"HandshakeMessage.d.ts","sourceRoot":"","sources":["../../../../src/dtls/handshake/HandshakeMessage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAiB,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAEpE,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,sEAAsE;AACtE,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,yEAAyE;AACzE,eAAO,MAAM,UAAU,QAAgB,CAAC;AAKxC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,KAAK,CAAC;CACf;AAqBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,yBAAiB,gBAAgB,CAAC,CAAC;IAC/B,SAAgB,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,KAAK,CAoBvD;IAED,SAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,KAAK,CAEpE;IAED,UAAiB,YAAY;QACzB,OAAO,EAAE,gBAAgB,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;KACpB;IAED,SAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAkCjD;CACJ"}
|
|
@@ -54,7 +54,8 @@ function readUint24BE(buf, offset) {
|
|
|
54
54
|
var HandshakeMessage;
|
|
55
55
|
((HandshakeMessage2) => {
|
|
56
56
|
function encode(message) {
|
|
57
|
-
const { msgType, messageSeq
|
|
57
|
+
const { msgType, messageSeq } = message;
|
|
58
|
+
const body = import_general.Bytes.of(message.body);
|
|
58
59
|
if (!(0, import_HandshakeType.isHandshakeType)(msgType)) {
|
|
59
60
|
throw new import_general.InternalError(`HandshakeMessage unknown msg_type: ${msgType}`);
|
|
60
61
|
}
|
|
@@ -79,35 +80,36 @@ var HandshakeMessage;
|
|
|
79
80
|
}
|
|
80
81
|
HandshakeMessage2.encodeForTranscript = encodeForTranscript;
|
|
81
82
|
function decode(bytes) {
|
|
82
|
-
|
|
83
|
+
const buf = import_general.Bytes.of(bytes);
|
|
84
|
+
if (buf.length < DTLS_HANDSHAKE_HEADER_LEN) {
|
|
83
85
|
throw new import_DtlsChannel.DtlsError(
|
|
84
|
-
`HandshakeMessage header truncated: have ${
|
|
86
|
+
`HandshakeMessage header truncated: have ${buf.length}, need ${DTLS_HANDSHAKE_HEADER_LEN}`
|
|
85
87
|
);
|
|
86
88
|
}
|
|
87
|
-
const msgType =
|
|
89
|
+
const msgType = buf[0];
|
|
88
90
|
if (!(0, import_HandshakeType.isHandshakeType)(msgType)) {
|
|
89
91
|
throw new import_DtlsChannel.DtlsError(`HandshakeMessage unknown msg_type: ${msgType}`);
|
|
90
92
|
}
|
|
91
|
-
const length = readUint24BE(
|
|
92
|
-
const messageSeq = readUint16BE(
|
|
93
|
-
const fragmentOffset = readUint24BE(
|
|
94
|
-
const fragmentLength = readUint24BE(
|
|
93
|
+
const length = readUint24BE(buf, 1);
|
|
94
|
+
const messageSeq = readUint16BE(buf, 4);
|
|
95
|
+
const fragmentOffset = readUint24BE(buf, 6);
|
|
96
|
+
const fragmentLength = readUint24BE(buf, 9);
|
|
95
97
|
if (fragmentOffset !== 0 || fragmentLength !== length) {
|
|
96
98
|
throw new import_DtlsChannel.DtlsError(
|
|
97
99
|
`HandshakeMessage fragmented input not supported: offset=${fragmentOffset} fragLen=${fragmentLength} totalLen=${length}`
|
|
98
100
|
);
|
|
99
101
|
}
|
|
100
102
|
const total = DTLS_HANDSHAKE_HEADER_LEN + length;
|
|
101
|
-
if (
|
|
103
|
+
if (buf.length < total) {
|
|
102
104
|
throw new import_DtlsChannel.DtlsError(
|
|
103
|
-
`HandshakeMessage body truncated: header says ${length}, have ${
|
|
105
|
+
`HandshakeMessage body truncated: header says ${length}, have ${buf.length - DTLS_HANDSHAKE_HEADER_LEN}`
|
|
104
106
|
);
|
|
105
107
|
}
|
|
106
108
|
return {
|
|
107
109
|
message: {
|
|
108
110
|
msgType,
|
|
109
111
|
messageSeq,
|
|
110
|
-
body:
|
|
112
|
+
body: buf.slice(DTLS_HANDSHAKE_HEADER_LEN, total)
|
|
111
113
|
},
|
|
112
114
|
consumed: total
|
|
113
115
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/dtls/handshake/HandshakeMessage.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["HandshakeMessage"]
|
|
6
6
|
}
|
|
@@ -3,9 +3,26 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* DTLS 1.2 HelloVerifyRequest body parser (RFC 6347 §4.2.1):
|
|
8
|
+
*
|
|
9
|
+
* ```
|
|
10
|
+
* struct {
|
|
11
|
+
* ProtocolVersion server_version; // 2 bytes (server may use {254, 255} for legacy reasons)
|
|
12
|
+
* opaque cookie<0..2^8-1>; // 1-byte length + body
|
|
13
|
+
* } HelloVerifyRequest;
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* Per RFC 6347 §4.2.1 the client MUST echo `server_version` back in the next
|
|
17
|
+
* ClientHello, but in practice every modern stack (mbedTLS, OpenThread) uses
|
|
18
|
+
* the same DTLS 1.2 version byte pair the client already advertised, so we
|
|
19
|
+
* accept any version bytes here without enforcement and let the next
|
|
20
|
+
* ClientHello carry the spec-mandated DTLS 1.2 version regardless.
|
|
21
|
+
*/
|
|
22
|
+
import { Bytes } from "@matter/general";
|
|
6
23
|
export declare const HelloVerifyRequestMessage: {
|
|
7
|
-
parse(
|
|
8
|
-
cookie:
|
|
24
|
+
parse(rawBody: Bytes): {
|
|
25
|
+
cookie: Bytes;
|
|
9
26
|
};
|
|
10
27
|
};
|
|
11
28
|
//# sourceMappingURL=HelloVerifyRequestMessage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HelloVerifyRequestMessage.d.ts","sourceRoot":"","sources":["../../../../src/dtls/handshake/HelloVerifyRequestMessage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"HelloVerifyRequestMessage.d.ts","sourceRoot":"","sources":["../../../../src/dtls/handshake/HelloVerifyRequestMessage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKxC,eAAO,MAAM,yBAAyB;IAClC,KAAK,UAAU,KAAK,GAAG;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE;CAmBlC,CAAC"}
|