@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
|
@@ -3,52 +3,30 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { InternalError } from "@matter/general";
|
|
7
|
-
import { createCipheriv, createDecipheriv } from "node:crypto";
|
|
6
|
+
import { Bytes, InternalError } from "@matter/general";
|
|
8
7
|
import { DtlsError } from "../channel/DtlsChannel.js";
|
|
9
8
|
const KEY_LEN = 16;
|
|
10
9
|
const TAG_LEN = 8;
|
|
11
10
|
var AesCcm8;
|
|
12
11
|
((AesCcm82) => {
|
|
13
|
-
function encrypt({ key, nonce, aad, plaintext }) {
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
async function encrypt(crypto, { key, nonce, aad, plaintext }) {
|
|
13
|
+
const keyBytes = Bytes.of(key);
|
|
14
|
+
if (keyBytes.length !== KEY_LEN) {
|
|
15
|
+
throw new InternalError(`AES-128-CCM-8 key must be ${KEY_LEN} bytes, got ${keyBytes.length}`);
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
cipher.setAAD(aad, { plaintextLength: plaintext.length });
|
|
19
|
-
const body = cipher.update(plaintext);
|
|
20
|
-
const tail = cipher.final();
|
|
21
|
-
const tag = cipher.getAuthTag();
|
|
22
|
-
const out = new Uint8Array(plaintext.length + TAG_LEN);
|
|
23
|
-
out.set(body, 0);
|
|
24
|
-
if (tail.length > 0) {
|
|
25
|
-
out.set(tail, body.length);
|
|
26
|
-
}
|
|
27
|
-
out.set(tag, plaintext.length);
|
|
28
|
-
return out;
|
|
17
|
+
return crypto.encrypt(keyBytes, plaintext, nonce, aad, TAG_LEN);
|
|
29
18
|
}
|
|
30
19
|
AesCcm82.encrypt = encrypt;
|
|
31
|
-
function decrypt({ key, nonce, aad, ciphertextWithTag }) {
|
|
32
|
-
|
|
33
|
-
|
|
20
|
+
async function decrypt(crypto, { key, nonce, aad, ciphertextWithTag }) {
|
|
21
|
+
const keyBytes = Bytes.of(key);
|
|
22
|
+
if (keyBytes.length !== KEY_LEN) {
|
|
23
|
+
throw new InternalError(`AES-128-CCM-8 key must be ${KEY_LEN} bytes, got ${keyBytes.length}`);
|
|
34
24
|
}
|
|
35
|
-
|
|
25
|
+
const ciphertextBytes = Bytes.of(ciphertextWithTag);
|
|
26
|
+
if (ciphertextBytes.length < TAG_LEN) {
|
|
36
27
|
throw new DtlsError(`AES-128-CCM-8 input shorter than ${TAG_LEN}-byte tag`);
|
|
37
28
|
}
|
|
38
|
-
|
|
39
|
-
const ct = ciphertextWithTag.subarray(0, ctLen);
|
|
40
|
-
const tag = ciphertextWithTag.subarray(ctLen);
|
|
41
|
-
const decipher = createDecipheriv("aes-128-ccm", key, nonce, { authTagLength: TAG_LEN });
|
|
42
|
-
decipher.setAAD(aad, { plaintextLength: ctLen });
|
|
43
|
-
decipher.setAuthTag(tag);
|
|
44
|
-
const body = decipher.update(ct);
|
|
45
|
-
const tail = decipher.final();
|
|
46
|
-
const out = new Uint8Array(ctLen);
|
|
47
|
-
out.set(body, 0);
|
|
48
|
-
if (tail.length > 0) {
|
|
49
|
-
out.set(tail, body.length);
|
|
50
|
-
}
|
|
51
|
-
return out;
|
|
29
|
+
return crypto.decrypt(keyBytes, ciphertextBytes, nonce, aad, TAG_LEN);
|
|
52
30
|
}
|
|
53
31
|
AesCcm82.decrypt = decrypt;
|
|
54
32
|
})(AesCcm8 || (AesCcm8 = {}));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/dtls/record/AesCcm8.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,qBAAqB;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAe,qBAAqB;AAC7C,SAAS,iBAAiB;AAE1B,MAAM,UAAU;AAChB,MAAM,UAAU;AAYT,IAAU;AAAA,CAAV,CAAUA,aAAV;AAeH,iBAAsB,QAAQ,QAAgB,EAAE,KAAK,OAAO,KAAK,UAAU,GAAgC;AACvG,UAAM,WAAW,MAAM,GAAG,GAAG;AAC7B,QAAI,SAAS,WAAW,SAAS;AAC7B,YAAM,IAAI,cAAc,6BAA6B,OAAO,eAAe,SAAS,MAAM,EAAE;AAAA,IAChG;AACA,WAAO,OAAO,QAAQ,UAAU,WAAW,OAAO,KAAK,OAAO;AAAA,EAClE;AANA,EAAAA,SAAsB;AAQtB,iBAAsB,QAAQ,QAAgB,EAAE,KAAK,OAAO,KAAK,kBAAkB,GAAgC;AAC/G,UAAM,WAAW,MAAM,GAAG,GAAG;AAC7B,QAAI,SAAS,WAAW,SAAS;AAC7B,YAAM,IAAI,cAAc,6BAA6B,OAAO,eAAe,SAAS,MAAM,EAAE;AAAA,IAChG;AACA,UAAM,kBAAkB,MAAM,GAAG,iBAAiB;AAClD,QAAI,gBAAgB,SAAS,SAAS;AAClC,YAAM,IAAI,UAAU,oCAAoC,OAAO,WAAW;AAAA,IAC9E;AACA,WAAO,OAAO,QAAQ,UAAU,iBAAiB,OAAO,KAAK,OAAO;AAAA,EACxE;AAVA,EAAAA,SAAsB;AAAA,GAvBT;",
|
|
5
5
|
"names": ["AesCcm8"]
|
|
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 { ContentType } from "./ContentType.js";
|
|
7
8
|
import { type DtlsRecordCipherState } from "./DtlsRecord.js";
|
|
8
9
|
/**
|
|
@@ -13,13 +14,13 @@ import { type DtlsRecordCipherState } from "./DtlsRecord.js";
|
|
|
13
14
|
*/
|
|
14
15
|
export interface DtlsCipherStateInputs {
|
|
15
16
|
/** 16-byte AES key the client uses to encrypt outbound records. */
|
|
16
|
-
clientWriteKey:
|
|
17
|
+
clientWriteKey: Bytes;
|
|
17
18
|
/** 16-byte AES key the server uses to encrypt outbound records. */
|
|
18
|
-
serverWriteKey:
|
|
19
|
+
serverWriteKey: Bytes;
|
|
19
20
|
/** 4-byte client implicit-IV salt (`client_write_IV`). */
|
|
20
|
-
clientWriteSalt:
|
|
21
|
+
clientWriteSalt: Bytes;
|
|
21
22
|
/** 4-byte server implicit-IV salt (`server_write_IV`). */
|
|
22
|
-
serverWriteSalt:
|
|
23
|
+
serverWriteSalt: Bytes;
|
|
23
24
|
}
|
|
24
25
|
/**
|
|
25
26
|
* Per-connection DTLS 1.2 record-layer cipher state for `TLS_ECJPAKE_WITH_AES_128_CCM_8`.
|
|
@@ -66,14 +67,14 @@ export declare class DtlsCipherState implements DtlsRecordCipherState {
|
|
|
66
67
|
*/
|
|
67
68
|
acceptIncoming(epoch: number, seqNum: bigint): boolean;
|
|
68
69
|
encryptParams(): {
|
|
69
|
-
key:
|
|
70
|
-
salt:
|
|
70
|
+
key: Bytes;
|
|
71
|
+
salt: Bytes;
|
|
71
72
|
};
|
|
72
73
|
decryptParams(): {
|
|
73
|
-
key:
|
|
74
|
-
salt:
|
|
74
|
+
key: Bytes;
|
|
75
|
+
salt: Bytes;
|
|
75
76
|
};
|
|
76
|
-
nonceFor(salt:
|
|
77
|
-
aadFor(type: ContentType, epoch: number, seqNum: bigint, plaintextLen: number):
|
|
77
|
+
nonceFor(salt: Bytes, epoch: number, seqNum: bigint): Bytes;
|
|
78
|
+
aadFor(type: ContentType, epoch: number, seqNum: bigint, plaintextLen: number): Bytes;
|
|
78
79
|
}
|
|
79
80
|
//# sourceMappingURL=DtlsCipherState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DtlsCipherState.d.ts","sourceRoot":"","sources":["../../../../src/dtls/record/DtlsCipherState.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"DtlsCipherState.d.ts","sourceRoot":"","sources":["../../../../src/dtls/record/DtlsCipherState.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAiB,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IAClC,mEAAmE;IACnE,cAAc,EAAE,KAAK,CAAC;IACtB,mEAAmE;IACnE,cAAc,EAAE,KAAK,CAAC;IACtB,0DAA0D;IAC1D,eAAe,EAAE,KAAK,CAAC;IACvB,0DAA0D;IAC1D,eAAe,EAAE,KAAK,CAAC;CAC1B;AAiBD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,eAAgB,YAAW,qBAAqB;;IACzD,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAUnC,YAAY,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,MAAM,EAAE,qBAAqB,EAMnE;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,uGAAuG;IACvG,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;OAGG;IACH,YAAY,IAAI,MAAM,CASrB;IAED;;;OAGG;IACH,iBAAiB,IAAI,IAAI,CAMxB;IAED;;;OAGG;IACH,gBAAgB,IAAI,IAAI,CAMvB;IAED;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAWrD;IAED,aAAa,IAAI;QAAE,GAAG,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,KAAK,CAAA;KAAE,CAI3C;IAED,aAAa,IAAI;QAAE,GAAG,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,KAAK,CAAA;KAAE,CAI3C;IAED,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAqB1D;IAED,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,KAAK,CAsBpF;CACJ"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { InternalError } from "@matter/general";
|
|
6
|
+
import { Bytes, InternalError } from "@matter/general";
|
|
7
7
|
import { AntiReplayWindow } from "./AntiReplayWindow.js";
|
|
8
8
|
import { DTLS_1_2_VERSION } from "./DtlsRecord.js";
|
|
9
9
|
const KEY_LEN = 16;
|
|
@@ -13,10 +13,11 @@ const AAD_LEN = 13;
|
|
|
13
13
|
const MAX_EPOCH = 65535;
|
|
14
14
|
const MAX_SEQ = (1n << 48n) - 1n;
|
|
15
15
|
function copyExpect(name, value, expectedLen) {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const bytes = Bytes.of(value);
|
|
17
|
+
if (bytes.length !== expectedLen) {
|
|
18
|
+
throw new InternalError(`DtlsCipherState ${name} must be ${expectedLen} bytes, got ${bytes.length}`);
|
|
18
19
|
}
|
|
19
|
-
return new Uint8Array(
|
|
20
|
+
return new Uint8Array(bytes);
|
|
20
21
|
}
|
|
21
22
|
class DtlsCipherState {
|
|
22
23
|
role;
|
|
@@ -105,8 +106,11 @@ class DtlsCipherState {
|
|
|
105
106
|
return this.role === "client" ? { key: this.#serverWriteKey, salt: this.#serverWriteSalt } : { key: this.#clientWriteKey, salt: this.#clientWriteSalt };
|
|
106
107
|
}
|
|
107
108
|
nonceFor(salt, epoch, seqNum) {
|
|
108
|
-
|
|
109
|
-
|
|
109
|
+
const saltBytes = Bytes.of(salt);
|
|
110
|
+
if (saltBytes.length !== SALT_LEN) {
|
|
111
|
+
throw new InternalError(
|
|
112
|
+
`DtlsCipherState nonceFor: salt must be ${SALT_LEN} bytes, got ${saltBytes.length}`
|
|
113
|
+
);
|
|
110
114
|
}
|
|
111
115
|
if (epoch < 0 || epoch > MAX_EPOCH) {
|
|
112
116
|
throw new InternalError(`DtlsCipherState nonceFor: epoch ${epoch} out of range`);
|
|
@@ -115,7 +119,7 @@ class DtlsCipherState {
|
|
|
115
119
|
throw new InternalError(`DtlsCipherState nonceFor: seqNum ${seqNum} out of range`);
|
|
116
120
|
}
|
|
117
121
|
const out = new Uint8Array(NONCE_LEN);
|
|
118
|
-
out.set(
|
|
122
|
+
out.set(saltBytes, 0);
|
|
119
123
|
out[4] = epoch >>> 8 & 255;
|
|
120
124
|
out[5] = epoch & 255;
|
|
121
125
|
for (let i = 0; i < 6; i++) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/dtls/record/DtlsCipherState.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,qBAAqB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { MatterError } from "@matter/general";
|
|
6
|
+
import { Bytes, Crypto, MatterError } from "@matter/general";
|
|
7
7
|
import { ContentType } from "./ContentType.js";
|
|
8
8
|
/**
|
|
9
9
|
* DTLS 1.2 protocol version on the wire is `{ major: 0xfe, minor: 0xfd }`,
|
|
@@ -31,18 +31,18 @@ export declare const DTLS_HEADER_LEN = 13;
|
|
|
31
31
|
export interface DtlsRecordCipherState {
|
|
32
32
|
/** AES key + 4-byte salt to use for outbound (encrypt) records. */
|
|
33
33
|
encryptParams(): {
|
|
34
|
-
key:
|
|
35
|
-
salt:
|
|
34
|
+
key: Bytes;
|
|
35
|
+
salt: Bytes;
|
|
36
36
|
};
|
|
37
37
|
/** AES key + 4-byte salt to use for inbound (decrypt) records. */
|
|
38
38
|
decryptParams(): {
|
|
39
|
-
key:
|
|
40
|
-
salt:
|
|
39
|
+
key: Bytes;
|
|
40
|
+
salt: Bytes;
|
|
41
41
|
};
|
|
42
42
|
/** Build the 12-byte CCM nonce: salt(4) || epoch(2) || seq(6). */
|
|
43
|
-
nonceFor(salt:
|
|
43
|
+
nonceFor(salt: Bytes, epoch: number, seqNum: bigint): Bytes;
|
|
44
44
|
/** Build the 13-byte DTLS AAD: epoch||seq(8) || type(1) || version(2) || plaintextLen(2). */
|
|
45
|
-
aadFor(type: ContentType, epoch: number, seqNum: bigint, plaintextLen: number):
|
|
45
|
+
aadFor(type: ContentType, epoch: number, seqNum: bigint, plaintextLen: number): Bytes;
|
|
46
46
|
/** Optional read-side replay-window check; absent on test doubles or pre-handshake states. */
|
|
47
47
|
acceptIncoming?(epoch: number, seqNum: bigint): boolean;
|
|
48
48
|
}
|
|
@@ -65,7 +65,7 @@ export interface DtlsRecord {
|
|
|
65
65
|
type: ContentType;
|
|
66
66
|
epoch: number;
|
|
67
67
|
sequenceNumber: bigint;
|
|
68
|
-
fragment:
|
|
68
|
+
fragment: Bytes;
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
71
|
* DTLS 1.2 record-layer codec.
|
|
@@ -79,11 +79,11 @@ export interface DtlsRecord {
|
|
|
79
79
|
* decode invokes it after AEAD success and throws {@link DtlsReplayError} on rejection.
|
|
80
80
|
*/
|
|
81
81
|
export declare namespace DtlsRecord {
|
|
82
|
-
function encode(record: DtlsRecord, state?: DtlsRecordCipherState):
|
|
82
|
+
function encode(crypto: Crypto, record: DtlsRecord, state?: DtlsRecordCipherState): Promise<Bytes>;
|
|
83
83
|
interface DecodeResult {
|
|
84
84
|
record: DtlsRecord;
|
|
85
85
|
consumed: number;
|
|
86
86
|
}
|
|
87
|
-
function decode(
|
|
87
|
+
function decode(crypto: Crypto, input: Bytes, state?: DtlsRecordCipherState): Promise<DecodeResult>;
|
|
88
88
|
}
|
|
89
89
|
//# sourceMappingURL=DtlsRecord.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DtlsRecord.d.ts","sourceRoot":"","sources":["../../../../src/dtls/record/DtlsRecord.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAiB,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"DtlsRecord.d.ts","sourceRoot":"","sources":["../../../../src/dtls/record/DtlsRecord.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAiB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG5E,OAAO,EAAE,WAAW,EAAiB,MAAM,kBAAkB,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;EAA8C,CAAC;AAE5E,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,QAAU,CAAC;AAE7C,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,wDAAwD;AACxD,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IAClC,mEAAmE;IACnE,aAAa,IAAI;QAAE,GAAG,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,KAAK,CAAA;KAAE,CAAC;IAC7C,kEAAkE;IAClE,aAAa,IAAI;QAAE,GAAG,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,KAAK,CAAA;KAAE,CAAC;IAC7C,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5D,6FAA6F;IAC7F,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,KAAK,CAAC;IACtF,8FAA8F;IAC9F,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3D;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,YAAY,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAKhD;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC;CACnB;AAkCD;;;;;;;;;;GAUG;AACH,yBAAiB,UAAU,CAAC,CAAC;IACzB,SAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,KAAK,CAAC,CAoD9G;IAED,UAAiB,YAAY;QACzB,MAAM,EAAE,UAAU,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KACpB;IAED,SAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CAqE/G;CACJ"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { InternalError, MatterError } from "@matter/general";
|
|
6
|
+
import { Bytes, InternalError, MatterError } from "@matter/general";
|
|
7
7
|
import { DtlsError } from "../channel/DtlsChannel.js";
|
|
8
8
|
import { AesCcm8 } from "./AesCcm8.js";
|
|
9
9
|
import { isContentType } from "./ContentType.js";
|
|
@@ -50,7 +50,7 @@ function readUint48BE(buf, offset) {
|
|
|
50
50
|
}
|
|
51
51
|
var DtlsRecord;
|
|
52
52
|
((DtlsRecord2) => {
|
|
53
|
-
function encode(record, state) {
|
|
53
|
+
async function encode(crypto, record, state) {
|
|
54
54
|
if (record.epoch < 0 || record.epoch > MAX_EPOCH) {
|
|
55
55
|
throw new InternalError(`DTLS epoch out of range: ${record.epoch}`);
|
|
56
56
|
}
|
|
@@ -60,19 +60,20 @@ var DtlsRecord;
|
|
|
60
60
|
if (!isContentType(record.type)) {
|
|
61
61
|
throw new InternalError(`DTLS unknown ContentType: ${record.type}`);
|
|
62
62
|
}
|
|
63
|
+
const fragmentIn = Bytes.of(record.fragment);
|
|
63
64
|
let fragment;
|
|
64
65
|
if (record.epoch === 0) {
|
|
65
|
-
if (
|
|
66
|
+
if (fragmentIn.length > DTLS_MAX_FRAGMENT_LEN) {
|
|
66
67
|
throw new InternalError(
|
|
67
|
-
`DTLS plaintext fragment too large: ${
|
|
68
|
+
`DTLS plaintext fragment too large: ${fragmentIn.length} > ${DTLS_MAX_FRAGMENT_LEN}`
|
|
68
69
|
);
|
|
69
70
|
}
|
|
70
|
-
fragment =
|
|
71
|
+
fragment = fragmentIn;
|
|
71
72
|
} else {
|
|
72
73
|
if (state === void 0) {
|
|
73
74
|
throw new InternalError(`DTLS encode at epoch ${record.epoch} requires cipher state`);
|
|
74
75
|
}
|
|
75
|
-
const plaintextLen =
|
|
76
|
+
const plaintextLen = fragmentIn.length;
|
|
76
77
|
if (plaintextLen + DTLS_AEAD_OVERHEAD > DTLS_MAX_FRAGMENT_LEN) {
|
|
77
78
|
throw new InternalError(
|
|
78
79
|
`DTLS encrypted fragment too large: ${plaintextLen + DTLS_AEAD_OVERHEAD} > ${DTLS_MAX_FRAGMENT_LEN}`
|
|
@@ -81,7 +82,7 @@ var DtlsRecord;
|
|
|
81
82
|
const { key, salt } = state.encryptParams();
|
|
82
83
|
const nonce = state.nonceFor(salt, record.epoch, record.sequenceNumber);
|
|
83
84
|
const aad = state.aadFor(record.type, record.epoch, record.sequenceNumber, plaintextLen);
|
|
84
|
-
const cipherWithTag = AesCcm8.encrypt({ key, nonce, aad, plaintext:
|
|
85
|
+
const cipherWithTag = Bytes.of(await AesCcm8.encrypt(crypto, { key, nonce, aad, plaintext: fragmentIn }));
|
|
85
86
|
fragment = new Uint8Array(8 + cipherWithTag.length);
|
|
86
87
|
fragment[0] = record.epoch >>> 8 & 255;
|
|
87
88
|
fragment[1] = record.epoch & 255;
|
|
@@ -99,7 +100,8 @@ var DtlsRecord;
|
|
|
99
100
|
return out;
|
|
100
101
|
}
|
|
101
102
|
DtlsRecord2.encode = encode;
|
|
102
|
-
function decode(
|
|
103
|
+
async function decode(crypto, input, state) {
|
|
104
|
+
const bytes = Bytes.of(input);
|
|
103
105
|
if (bytes.length < DTLS_HEADER_LEN) {
|
|
104
106
|
throw new DtlsError(`DTLS record header truncated: have ${bytes.length}, need ${DTLS_HEADER_LEN}`);
|
|
105
107
|
}
|
|
@@ -152,7 +154,7 @@ var DtlsRecord;
|
|
|
152
154
|
}
|
|
153
155
|
const nonce = state.nonceFor(salt, epoch, sequenceNumber);
|
|
154
156
|
const aad = state.aadFor(type, epoch, sequenceNumber, plaintextLen);
|
|
155
|
-
fragment = AesCcm8.decrypt({ key, nonce, aad, ciphertextWithTag: cipherWithTag });
|
|
157
|
+
fragment = await AesCcm8.decrypt(crypto, { key, nonce, aad, ciphertextWithTag: cipherWithTag });
|
|
156
158
|
if (state.acceptIncoming !== void 0 && !state.acceptIncoming(epoch, sequenceNumber)) {
|
|
157
159
|
throw new DtlsReplayError(epoch, sequenceNumber);
|
|
158
160
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/dtls/record/DtlsRecord.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe,mBAAmB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["DtlsRecord"]
|
|
6
6
|
}
|
|
@@ -3,20 +3,19 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import type { Bytes } from "@matter/general";
|
|
6
7
|
/**
|
|
7
8
|
* Snapshot of an OTBR REST endpoint as observed by {@link OtbrRestProbe}.
|
|
8
9
|
*
|
|
9
10
|
* `keyFormat` reflects the case convention the BR's REST surface uses on the
|
|
10
11
|
* wire (older OTBR builds = pascal, post-2024 builds = camel). The probe
|
|
11
|
-
* detects this from the
|
|
12
|
-
* python-otbr-api `_async_detect_case`.
|
|
12
|
+
* detects this from the key casing of the `/node` response.
|
|
13
13
|
*/
|
|
14
14
|
export interface OtbrRestCapability {
|
|
15
15
|
baseUrl: string;
|
|
16
16
|
keyFormat: "camel" | "pascal";
|
|
17
|
-
apiVersion?: string;
|
|
18
17
|
probedAt: number;
|
|
19
18
|
networkName: string;
|
|
20
|
-
extPanId:
|
|
19
|
+
extPanId: Bytes;
|
|
21
20
|
}
|
|
22
21
|
//# sourceMappingURL=OtbrRestCapability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtbrRestCapability.d.ts","sourceRoot":"","sources":["../../../src/otbr-rest/OtbrRestCapability.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH
|
|
1
|
+
{"version":3,"file":"OtbrRestCapability.d.ts","sourceRoot":"","sources":["../../../src/otbr-rest/OtbrRestCapability.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC;CACnB"}
|
|
@@ -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 { OperationalDataset } from "../dataset/OperationalDataset.js";
|
|
7
8
|
export interface OtbrLeaderData {
|
|
8
9
|
partitionId: number;
|
|
@@ -12,15 +13,16 @@ export interface OtbrLeaderData {
|
|
|
12
13
|
leaderRouterId: number;
|
|
13
14
|
}
|
|
14
15
|
export interface OtbrNodeInfo {
|
|
15
|
-
baId:
|
|
16
|
+
baId: Bytes;
|
|
16
17
|
state: string;
|
|
17
|
-
numOfRouter
|
|
18
|
+
/** Router count. Undefined on builds that omit both `numOfRouter` and its post-2024 alias `routerCount`. */
|
|
19
|
+
numOfRouter?: number;
|
|
18
20
|
rlocAddress: string;
|
|
19
|
-
extAddress:
|
|
21
|
+
extAddress: Bytes;
|
|
20
22
|
networkName: string;
|
|
21
23
|
rloc16: number;
|
|
22
24
|
leaderData: OtbrLeaderData;
|
|
23
|
-
extPanId:
|
|
25
|
+
extPanId: Bytes;
|
|
24
26
|
}
|
|
25
27
|
export interface OtbrDatasetHex {
|
|
26
28
|
activeHex?: string;
|
|
@@ -68,12 +70,29 @@ export declare class OtbrRestClient {
|
|
|
68
70
|
/**
|
|
69
71
|
* Fetch the current node summary from the OTBR `/node` endpoint.
|
|
70
72
|
*
|
|
71
|
-
* @returns Parsed node info with typed fields (binary fields as `
|
|
73
|
+
* @returns Parsed node info with typed fields (binary fields as `Bytes`).
|
|
72
74
|
* @throws {@link OtbrRestError} with code `"rest_unreachable"` on network error or timeout.
|
|
73
75
|
* @throws {@link OtbrRestError} with code `"rest_protocol"` when the response is
|
|
74
76
|
* not a valid JSON object or a required field is missing or has the wrong type.
|
|
75
77
|
*/
|
|
76
78
|
getNode(): Promise<OtbrNodeInfo>;
|
|
79
|
+
/**
|
|
80
|
+
* Lightweight probe of the `/node` endpoint for {@link OtbrRestProbe}.
|
|
81
|
+
*
|
|
82
|
+
* Fetches `/node` once and returns only the fields needed to identify an
|
|
83
|
+
* OTBR REST surface — the observed key casing plus the network name and
|
|
84
|
+
* Extended PAN ID. Unlike {@link getNode} it does not validate the full
|
|
85
|
+
* node schema, so a build that reshapes non-essential fields still probes
|
|
86
|
+
* cleanly.
|
|
87
|
+
*
|
|
88
|
+
* @throws {@link OtbrRestError} `"rest_protocol"` when the response is not an
|
|
89
|
+
* OTBR node object or lacks `networkName`/`extPanId`.
|
|
90
|
+
*/
|
|
91
|
+
probeNode(): Promise<{
|
|
92
|
+
keyFormat: "camel" | "pascal";
|
|
93
|
+
networkName: string;
|
|
94
|
+
extPanId: Bytes;
|
|
95
|
+
}>;
|
|
77
96
|
/**
|
|
78
97
|
* Fetch the raw diagnostics array from the OTBR `/diagnostics` endpoint.
|
|
79
98
|
*
|
|
@@ -125,17 +144,17 @@ export declare class OtbrRestClient {
|
|
|
125
144
|
/**
|
|
126
145
|
* Fetch the 8-byte IEEE EUI-64 extended address from `/node/ext-address`.
|
|
127
146
|
*/
|
|
128
|
-
getExtAddress(): Promise<
|
|
147
|
+
getExtAddress(): Promise<Bytes>;
|
|
129
148
|
/**
|
|
130
149
|
* Fetch the 8-byte Extended PAN ID from `/node/ext-panid`.
|
|
131
150
|
*/
|
|
132
|
-
getExtPanId(): Promise<
|
|
151
|
+
getExtPanId(): Promise<Bytes>;
|
|
133
152
|
/**
|
|
134
153
|
* Fetch the 16-byte Border Agent ID from `/node/ba-id`.
|
|
135
154
|
*
|
|
136
155
|
* @throws {@link OtbrRestError} `"rest_unsupported"` on older firmware that lacks this endpoint (404).
|
|
137
156
|
*/
|
|
138
|
-
getBorderAgentId(): Promise<
|
|
157
|
+
getBorderAgentId(): Promise<Bytes>;
|
|
139
158
|
/**
|
|
140
159
|
* Fetch the leader data record from `/node/leader-data`.
|
|
141
160
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtbrRestClient.d.ts","sourceRoot":"","sources":["../../../src/otbr-rest/OtbrRestClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"OtbrRestClient.d.ts","sourceRoot":"","sources":["../../../src/otbr-rest/OtbrRestClient.ts"],"names":[],"mappings":"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"}
|