@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
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import {
|
|
7
7
|
Bytes,
|
|
8
8
|
Crypto,
|
|
9
|
+
errorOf,
|
|
9
10
|
ImplementationError,
|
|
10
11
|
InternalError,
|
|
11
12
|
Logger,
|
|
@@ -64,7 +65,14 @@ class NobleDtlsChannel {
|
|
|
64
65
|
#udpType;
|
|
65
66
|
#udp;
|
|
66
67
|
#client;
|
|
68
|
+
#crypto;
|
|
67
69
|
#retransmit;
|
|
70
|
+
/**
|
|
71
|
+
* Serializes every DtlsClient / record-codec interaction. UDP `onData` fires
|
|
72
|
+
* sequentially but async handlers interleave at each `await`; chaining onto this
|
|
73
|
+
* promise guarantees datagrams and retransmits never re-enter the client concurrently.
|
|
74
|
+
*/
|
|
75
|
+
#inbound = Promise.resolve();
|
|
68
76
|
/** Established cipher state (snapshot of the DtlsClient's after handshake). */
|
|
69
77
|
#cipherState;
|
|
70
78
|
#connected = false;
|
|
@@ -97,20 +105,25 @@ class NobleDtlsChannel {
|
|
|
97
105
|
}
|
|
98
106
|
const environment = this.#opts.environment;
|
|
99
107
|
const network = environment.get(Network);
|
|
100
|
-
const
|
|
108
|
+
const crypto = environment.get(Crypto);
|
|
109
|
+
this.#crypto = crypto;
|
|
101
110
|
const udp = await network.createUdpSocket({ type: this.#udpType, listeningPort: 0 });
|
|
102
111
|
if (this.#closed) {
|
|
103
112
|
await udp.close();
|
|
104
113
|
throw new ImplementationError("NobleDtlsChannel.connect: closed");
|
|
105
114
|
}
|
|
106
115
|
this.#udp = udp;
|
|
107
|
-
udp.onData((_netInterface, _peerAddress, _peerPort, data) =>
|
|
116
|
+
udp.onData((_netInterface, _peerAddress, _peerPort, data) => {
|
|
117
|
+
const bytes = Bytes.of(data);
|
|
118
|
+
this.#enqueue(() => this.#onDatagram(bytes));
|
|
119
|
+
});
|
|
108
120
|
const initialRetransmit = this.#opts.initialRetransmitMs !== void 0 ? Millis(this.#opts.initialRetransmitMs) : DEFAULT_INITIAL_RETRANSMIT;
|
|
109
121
|
const maxRetransmit = this.#opts.maxRetransmitMs !== void 0 ? Millis(this.#opts.maxRetransmitMs) : DEFAULT_MAX_RETRANSMIT;
|
|
110
122
|
const clientCfg = {
|
|
123
|
+
crypto,
|
|
111
124
|
password: this.#opts.password,
|
|
112
|
-
random: this.#opts.random ?? (() => defaultRandom(
|
|
113
|
-
ephemeralScalar: this.#opts.ephemeralScalar ?? (() => defaultEphemeralScalar(
|
|
125
|
+
random: this.#opts.random ?? (() => defaultRandom(crypto)),
|
|
126
|
+
ephemeralScalar: this.#opts.ephemeralScalar ?? (() => defaultEphemeralScalar(crypto)),
|
|
114
127
|
initialRetransmitMs: initialRetransmit,
|
|
115
128
|
maxRetransmitMs: maxRetransmit,
|
|
116
129
|
mtu: this.#opts.mtu ?? DEFAULT_MTU
|
|
@@ -121,7 +134,7 @@ class NobleDtlsChannel {
|
|
|
121
134
|
initialMs: initialRetransmit,
|
|
122
135
|
maxMs: maxRetransmit,
|
|
123
136
|
maxRetransmits: this.#opts.maxRetransmits ?? DEFAULT_MAX_RETRANSMITS,
|
|
124
|
-
onRetransmit: () => this.#onRetransmit(),
|
|
137
|
+
onRetransmit: () => this.#enqueue(() => this.#onRetransmit()),
|
|
125
138
|
onGiveUp: () => this.#fail(new DtlsError("NobleDtlsChannel: handshake gave up after max retransmits"))
|
|
126
139
|
});
|
|
127
140
|
const connectPromise = new Promise((resolve, reject) => {
|
|
@@ -133,13 +146,7 @@ class NobleDtlsChannel {
|
|
|
133
146
|
connectTimeout,
|
|
134
147
|
() => this.#fail(new TimeoutError(`NobleDtlsChannel: connect timed out after ${connectTimeout}ms`))
|
|
135
148
|
).start();
|
|
136
|
-
|
|
137
|
-
const step = client.start();
|
|
138
|
-
this.#sendRecords(step.records);
|
|
139
|
-
this.#retransmit.armNewFlight();
|
|
140
|
-
} catch (e) {
|
|
141
|
-
this.#fail(e instanceof Error ? e : new InternalError(String(e)));
|
|
142
|
-
}
|
|
149
|
+
this.#enqueue(() => this.#startHandshake());
|
|
143
150
|
try {
|
|
144
151
|
await connectPromise;
|
|
145
152
|
} finally {
|
|
@@ -156,18 +163,22 @@ class NobleDtlsChannel {
|
|
|
156
163
|
}
|
|
157
164
|
const cipherState = this.#cipherState;
|
|
158
165
|
const udp = this.#udp;
|
|
159
|
-
|
|
166
|
+
const crypto = this.#crypto;
|
|
167
|
+
if (cipherState === void 0 || udp === void 0 || crypto === void 0) {
|
|
160
168
|
throw new InternalError("NobleDtlsChannel.send: missing cipher state or transport");
|
|
161
169
|
}
|
|
162
170
|
const seq = cipherState.nextWriteSeq();
|
|
163
|
-
const record =
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
+
const record = Bytes.of(
|
|
172
|
+
await DtlsRecord.encode(
|
|
173
|
+
crypto,
|
|
174
|
+
{
|
|
175
|
+
type: ContentType.APPLICATION_DATA,
|
|
176
|
+
epoch: cipherState.writeEpoch,
|
|
177
|
+
sequenceNumber: seq,
|
|
178
|
+
fragment: Bytes.of(bytes)
|
|
179
|
+
},
|
|
180
|
+
cipherState
|
|
181
|
+
)
|
|
171
182
|
);
|
|
172
183
|
await this.#sendDatagram(udp, record);
|
|
173
184
|
}
|
|
@@ -214,17 +225,21 @@ class NobleDtlsChannel {
|
|
|
214
225
|
this.#closed = true;
|
|
215
226
|
const cipherState = this.#cipherState;
|
|
216
227
|
const udp = this.#udp;
|
|
217
|
-
|
|
228
|
+
const crypto = this.#crypto;
|
|
229
|
+
if (this.#connected && cipherState !== void 0 && udp !== void 0 && crypto !== void 0) {
|
|
218
230
|
try {
|
|
219
231
|
const seq = cipherState.nextWriteSeq();
|
|
220
|
-
const alertRecord =
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
232
|
+
const alertRecord = Bytes.of(
|
|
233
|
+
await DtlsRecord.encode(
|
|
234
|
+
crypto,
|
|
235
|
+
{
|
|
236
|
+
type: ContentType.ALERT,
|
|
237
|
+
epoch: cipherState.writeEpoch,
|
|
238
|
+
sequenceNumber: seq,
|
|
239
|
+
fragment: Uint8Array.of(ALERT_LEVEL_WARNING, ALERT_DESC_CLOSE_NOTIFY)
|
|
240
|
+
},
|
|
241
|
+
cipherState
|
|
242
|
+
)
|
|
228
243
|
);
|
|
229
244
|
await this.#sendDatagram(udp, alertRecord).catch(() => {
|
|
230
245
|
});
|
|
@@ -263,27 +278,47 @@ class NobleDtlsChannel {
|
|
|
263
278
|
}
|
|
264
279
|
// -----------------------------------------------------------------------
|
|
265
280
|
// Internals
|
|
266
|
-
|
|
281
|
+
/**
|
|
282
|
+
* Chain `work` onto the single serialization queue. The `.catch` routes any error to
|
|
283
|
+
* {@link #fail} (which rejects the pending connect / settles the channel error state)
|
|
284
|
+
* and keeps the queue alive — errors surface, never swallowed.
|
|
285
|
+
*/
|
|
286
|
+
#enqueue(work) {
|
|
287
|
+
this.#inbound = this.#inbound.then(work).catch((err) => this.#fail(errorOf(err)));
|
|
288
|
+
}
|
|
289
|
+
async #startHandshake() {
|
|
290
|
+
const client = this.#client;
|
|
291
|
+
const retransmit = this.#retransmit;
|
|
292
|
+
if (client === void 0 || retransmit === void 0) {
|
|
293
|
+
throw new InternalError("NobleDtlsChannel: start before client/timer initialised");
|
|
294
|
+
}
|
|
295
|
+
const step = await client.start();
|
|
267
296
|
if (this.#closed) {
|
|
268
297
|
return;
|
|
269
298
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
277
|
-
|
|
299
|
+
this.#sendRecords(step.records);
|
|
300
|
+
retransmit.armNewFlight();
|
|
301
|
+
}
|
|
302
|
+
async #onDatagram(bytes) {
|
|
303
|
+
if (this.#closed) {
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
if (this.#connected) {
|
|
307
|
+
await this.#handleAppDatagram(bytes);
|
|
308
|
+
} else {
|
|
309
|
+
await this.#handleHandshakeDatagram(bytes);
|
|
278
310
|
}
|
|
279
311
|
}
|
|
280
|
-
#handleHandshakeDatagram(bytes) {
|
|
312
|
+
async #handleHandshakeDatagram(bytes) {
|
|
281
313
|
const client = this.#client;
|
|
282
314
|
const retransmit = this.#retransmit;
|
|
283
315
|
if (client === void 0 || retransmit === void 0) {
|
|
284
316
|
throw new InternalError("NobleDtlsChannel: handshake datagram before client/timer initialised");
|
|
285
317
|
}
|
|
286
|
-
const step = client.onDatagram(bytes);
|
|
318
|
+
const step = await client.onDatagram(bytes);
|
|
319
|
+
if (this.#closed) {
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
287
322
|
retransmit.cancel();
|
|
288
323
|
if (step.records.length > 0) {
|
|
289
324
|
this.#sendRecords(step.records);
|
|
@@ -300,9 +335,10 @@ class NobleDtlsChannel {
|
|
|
300
335
|
retransmit.armNewFlight();
|
|
301
336
|
}
|
|
302
337
|
}
|
|
303
|
-
#handleAppDatagram(bytes) {
|
|
338
|
+
async #handleAppDatagram(bytes) {
|
|
304
339
|
const cipherState = this.#cipherState;
|
|
305
|
-
|
|
340
|
+
const crypto = this.#crypto;
|
|
341
|
+
if (cipherState === void 0 || crypto === void 0) {
|
|
306
342
|
throw new InternalError("NobleDtlsChannel: post-handshake datagram with no cipher state");
|
|
307
343
|
}
|
|
308
344
|
let p = 0;
|
|
@@ -318,7 +354,7 @@ class NobleDtlsChannel {
|
|
|
318
354
|
const slice = bytes.subarray(p, recordEnd);
|
|
319
355
|
let record;
|
|
320
356
|
try {
|
|
321
|
-
({ record } = DtlsRecord.decode(slice, cipherState));
|
|
357
|
+
({ record } = await DtlsRecord.decode(crypto, slice, cipherState));
|
|
322
358
|
} catch (e) {
|
|
323
359
|
if (e instanceof DtlsReplayError) {
|
|
324
360
|
logger.debug(`Dropping replayed DTLS record epoch=${e.epoch} seq=${e.sequenceNumber}`);
|
|
@@ -328,15 +364,16 @@ class NobleDtlsChannel {
|
|
|
328
364
|
throw e;
|
|
329
365
|
}
|
|
330
366
|
if (record.type === ContentType.APPLICATION_DATA) {
|
|
331
|
-
this.#deliverPlaintext(record.fragment);
|
|
367
|
+
this.#deliverPlaintext(Bytes.of(record.fragment));
|
|
332
368
|
} else if (record.type === ContentType.ALERT) {
|
|
333
|
-
|
|
369
|
+
const alertFragment = Bytes.of(record.fragment);
|
|
370
|
+
if (alertFragment.length >= 2 && alertFragment[1] === ALERT_DESC_CLOSE_NOTIFY) {
|
|
334
371
|
this.#fail(new DtlsError("NobleDtlsChannel: peer sent close_notify"));
|
|
335
372
|
return;
|
|
336
373
|
}
|
|
337
374
|
this.#fail(
|
|
338
375
|
new DtlsError(
|
|
339
|
-
`NobleDtlsChannel: peer alert level=${
|
|
376
|
+
`NobleDtlsChannel: peer alert level=${alertFragment[0] ?? -1} desc=${alertFragment[1] ?? -1}`
|
|
340
377
|
)
|
|
341
378
|
);
|
|
342
379
|
return;
|
|
@@ -356,17 +393,13 @@ class NobleDtlsChannel {
|
|
|
356
393
|
this.#fail(new DtlsError("NobleDtlsChannel: inbound buffer overflow \u2014 consumer too slow"));
|
|
357
394
|
}
|
|
358
395
|
}
|
|
359
|
-
#onRetransmit() {
|
|
396
|
+
async #onRetransmit() {
|
|
360
397
|
const client = this.#client;
|
|
361
398
|
if (client === void 0 || this.#connected || this.#closed) {
|
|
362
399
|
return;
|
|
363
400
|
}
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
this.#sendRecords(step.records);
|
|
367
|
-
} catch (e) {
|
|
368
|
-
this.#fail(e instanceof Error ? e : new InternalError(String(e)));
|
|
369
|
-
}
|
|
401
|
+
const step = await client.onRetransmit();
|
|
402
|
+
this.#sendRecords(step.records);
|
|
370
403
|
}
|
|
371
404
|
#sendRecords(records) {
|
|
372
405
|
const udp = this.#udp;
|
|
@@ -380,7 +413,8 @@ class NobleDtlsChannel {
|
|
|
380
413
|
const datagrams = new Array();
|
|
381
414
|
let acc = new Array();
|
|
382
415
|
let accLen = 0;
|
|
383
|
-
for (const
|
|
416
|
+
for (const rawRecord of records) {
|
|
417
|
+
const record = Bytes.of(rawRecord);
|
|
384
418
|
if (accLen > 0 && accLen + record.length > mtu) {
|
|
385
419
|
datagrams.push(concatBuffers(acc));
|
|
386
420
|
acc = [];
|
|
@@ -393,9 +427,7 @@ class NobleDtlsChannel {
|
|
|
393
427
|
datagrams.push(concatBuffers(acc));
|
|
394
428
|
}
|
|
395
429
|
for (const dg of datagrams) {
|
|
396
|
-
void this.#sendDatagram(udp, dg).catch(
|
|
397
|
-
(e) => this.#fail(e instanceof Error ? e : new InternalError(String(e)))
|
|
398
|
-
);
|
|
430
|
+
void this.#sendDatagram(udp, dg).catch((e) => this.#fail(errorOf(e)));
|
|
399
431
|
}
|
|
400
432
|
}
|
|
401
433
|
async #sendDatagram(udp, bytes) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/dtls/channel/NobleDtlsChannel.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA,EACI;AAAA,EACA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIG;AACP,SAAS,YAAY;AACrB,SAAS,kBAAyC;AAClD,SAAS,mBAAmB;AAE5B,SAAS,iBAAiB,YAAY,uBAAuB;AAC7D,SAA2B,iBAAiB;AAE5C,SAAS,2BAA2B;AAEpC,MAAM,SAAS,OAAO,IAAI,kBAAkB;AAE5C,MAAM,6BAA6B,QAAQ,CAAC;AAC5C,MAAM,yBAAyB,QAAQ,CAAC;AACxC,MAAM,0BAA0B;AAChC,MAAM,0BAA0B,QAAQ,EAAE;AAC1C,MAAM,cAAc;AAQpB,MAAM,oBAAoB;AAE1B,MAAM,IAAI,KAAK,MAAM,GAAG;AAExB,MAAM,sBAAsB;AAC5B,MAAM,0BAA0B;AAEhC,SAAS,aAAa,SAAiB,MAAyC;AAC5E,MAAI,SAAS,QAAW;AACpB,WAAO;AAAA,EACX;AACA,SAAO,QAAQ,SAAS,GAAG,IAAI,SAAS;AAC5C;AAEA,SAAS,cAAc,SAA8B;AACjD,SAAO,MAAM,GAAG,QAAQ,YAAY,EAAE,CAAC;AAC3C;AAEA,SAAS,cAAc,OAAiC;AACpD,QAAM,QAAQ,MAAM,OAAO,CAAC,GAAG,MAAM,IAAI,EAAE,QAAQ,CAAC;AACpD,QAAM,MAAM,IAAI,WAAW,KAAK;AAChC,MAAI,MAAM;AACV,aAAW,KAAK,OAAO;AACnB,QAAI,IAAI,GAAG,GAAG;AACd,WAAO,EAAE;AAAA,EACb;AACA,SAAO;AACX;AAEA,SAAS,uBAAuB,SAA0B;AAGtD,MAAI,IAAI;AACR,QAAM,MAAM,MAAM,GAAG,QAAQ,YAAY,EAAE,CAAC;AAC5C,aAAW,QAAQ,KAAK;AACpB,QAAK,KAAK,KAAM,OAAO,IAAI;AAAA,EAC/B;AACA,SAAQ,KAAK,IAAI,MAAO;AAC5B;AAaO,MAAM,iBAAwC;AAAA,EACxC;AAAA,EACA;AAAA,EAET;AAAA,EACA;AAAA,EACA;AAAA;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
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, Crypto } from "@matter/general";
|
|
6
7
|
/**
|
|
7
8
|
* EC-JPAKE premaster-secret derivation, mirroring mbedTLS v3.6.6
|
|
8
9
|
* `mbedtls_ecjpake_derive_secret` and its helper `mbedtls_ecjpake_derive_k`.
|
|
@@ -25,11 +26,11 @@
|
|
|
25
26
|
* TLS 1.2 PRF takes over (Phase 0c.5 / DTLS layer).
|
|
26
27
|
*/
|
|
27
28
|
export declare const EcJpakePms: {
|
|
28
|
-
derive(args: {
|
|
29
|
-
Xp:
|
|
30
|
-
Xp2:
|
|
29
|
+
derive(crypto: Crypto, args: {
|
|
30
|
+
Xp: Bytes;
|
|
31
|
+
Xp2: Bytes;
|
|
31
32
|
xm2: bigint;
|
|
32
33
|
s: bigint;
|
|
33
|
-
}):
|
|
34
|
+
}): Promise<Bytes>;
|
|
34
35
|
};
|
|
35
36
|
//# sourceMappingURL=EcJpakePms.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EcJpakePms.d.ts","sourceRoot":"","sources":["../../../../src/dtls/ecjpake/EcJpakePms.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"EcJpakePms.d.ts","sourceRoot":"","sources":["../../../../src/dtls/ecjpake/EcJpakePms.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAQ/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,UAAU;IACb,MAAM,SAAS,MAAM,QAAQ;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;CA2B/F,CAAC"}
|
|
@@ -3,15 +3,14 @@
|
|
|
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 { p256 } from "@noble/curves/nist.js";
|
|
8
|
-
import { sha256 } from "@noble/hashes/sha2.js";
|
|
9
8
|
import { DtlsError } from "../channel/DtlsChannel.js";
|
|
10
9
|
const Point = p256.Point;
|
|
11
10
|
const N = Point.Fn.ORDER;
|
|
12
11
|
const COORDINATE_BYTES = 32;
|
|
13
12
|
const EcJpakePms = {
|
|
14
|
-
derive(args) {
|
|
13
|
+
async derive(crypto, args) {
|
|
15
14
|
const { Xp, Xp2, xm2, s } = args;
|
|
16
15
|
if (xm2 <= 0n || xm2 >= N) {
|
|
17
16
|
throw new InternalError("xm2 must be in [1, n-1]");
|
|
@@ -19,8 +18,8 @@ const EcJpakePms = {
|
|
|
19
18
|
if (s <= 0n) {
|
|
20
19
|
throw new InternalError("s (password as integer) must be positive");
|
|
21
20
|
}
|
|
22
|
-
const Xp_pt = Point.fromBytes(Xp);
|
|
23
|
-
const Xp2_pt = Point.fromBytes(Xp2);
|
|
21
|
+
const Xp_pt = Point.fromBytes(Bytes.of(Xp));
|
|
22
|
+
const Xp2_pt = Point.fromBytes(Bytes.of(Xp2));
|
|
24
23
|
if (Xp_pt.is0() || Xp2_pt.is0()) {
|
|
25
24
|
throw new DtlsError("peer points must not be the point at infinity");
|
|
26
25
|
}
|
|
@@ -32,7 +31,7 @@ const EcJpakePms = {
|
|
|
32
31
|
}
|
|
33
32
|
const sec1 = K.toBytes(false);
|
|
34
33
|
const xBytes = sec1.subarray(1, 1 + COORDINATE_BYTES);
|
|
35
|
-
return
|
|
34
|
+
return Bytes.of(await crypto.computeHash(xBytes));
|
|
36
35
|
}
|
|
37
36
|
};
|
|
38
37
|
export {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/dtls/ecjpake/EcJpakePms.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,qBAAqB;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAe,qBAAqB;AAC7C,SAAS,YAAY;AACrB,SAAS,iBAAiB;AAE1B,MAAM,QAAQ,KAAK;AACnB,MAAM,IAAI,MAAM,GAAG;AACnB,MAAM,mBAAmB;AAuBlB,MAAM,aAAa;AAAA,EACtB,MAAM,OAAO,QAAgB,MAAyE;AAClG,UAAM,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI;AAC5B,QAAI,OAAO,MAAM,OAAO,GAAG;AACvB,YAAM,IAAI,cAAc,yBAAyB;AAAA,IACrD;AACA,QAAI,KAAK,IAAI;AACT,YAAM,IAAI,cAAc,0CAA0C;AAAA,IACtE;AACA,UAAM,QAAQ,MAAM,UAAU,MAAM,GAAG,EAAE,CAAC;AAC1C,UAAM,SAAS,MAAM,UAAU,MAAM,GAAG,GAAG,CAAC;AAC5C,QAAI,MAAM,IAAI,KAAK,OAAO,IAAI,GAAG;AAC7B,YAAM,IAAI,UAAU,+CAA+C;AAAA,IACvE;AACA,UAAM,WAAW,IAAM,MAAM,IAAK,KAAM;AAExC,UAAM,KAAK,MAAM,IAAI,OAAO,SAAS,OAAO,CAAC;AAC7C,UAAM,IAAI,GAAG,SAAS,GAAG;AACzB,QAAI,EAAE,IAAI,GAAG;AACT,YAAM,IAAI,UAAU,oCAAoC;AAAA,IAC5D;AAIA,UAAM,OAAO,EAAE,QAAQ,KAAK;AAC5B,UAAM,SAAS,KAAK,SAAS,GAAG,IAAI,gBAAgB;AACpD,WAAO,MAAM,GAAG,MAAM,OAAO,YAAY,MAAM,CAAC;AAAA,EACpD;AACJ;",
|
|
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, Crypto } from "@matter/general";
|
|
6
7
|
import { SchnorrZkp, type SchnorrZkpGenerator } from "./SchnorrZkp.js";
|
|
7
8
|
/**
|
|
8
9
|
* One half of an EC-JPAKE round-1 message: an ephemeral public key plus a Schnorr
|
|
@@ -17,7 +18,7 @@ import { SchnorrZkp, type SchnorrZkpGenerator } from "./SchnorrZkp.js";
|
|
|
17
18
|
*/
|
|
18
19
|
export interface EcJpakeKeyKP {
|
|
19
20
|
/** SEC1-uncompressed public key `X = x*G`. */
|
|
20
|
-
X:
|
|
21
|
+
X: Bytes;
|
|
21
22
|
/** Schnorr ZKP proving knowledge of `x`. */
|
|
22
23
|
zkp: SchnorrZkp;
|
|
23
24
|
}
|
|
@@ -43,18 +44,18 @@ export declare const EcJpakeRound: {
|
|
|
43
44
|
*
|
|
44
45
|
* `id` is `ECJPAKE_ID_CLIENT` for the joiner and `ECJPAKE_ID_SERVER` for the commissioner.
|
|
45
46
|
*/
|
|
46
|
-
buildRound1(args: {
|
|
47
|
+
buildRound1(crypto: Crypto, args: {
|
|
47
48
|
x1: bigint;
|
|
48
49
|
x2: bigint;
|
|
49
50
|
v1: bigint;
|
|
50
51
|
v2: bigint;
|
|
51
52
|
id: string;
|
|
52
|
-
}): {
|
|
53
|
+
}): Promise<{
|
|
53
54
|
kp1: EcJpakeKeyKP;
|
|
54
55
|
kp2: EcJpakeKeyKP;
|
|
55
|
-
}
|
|
56
|
-
serializeRound1(kp1: EcJpakeKeyKP, kp2: EcJpakeKeyKP):
|
|
57
|
-
parseRound1(bytes:
|
|
56
|
+
}>;
|
|
57
|
+
serializeRound1(kp1: EcJpakeKeyKP, kp2: EcJpakeKeyKP): Bytes;
|
|
58
|
+
parseRound1(bytes: Bytes): {
|
|
58
59
|
kp1: EcJpakeKeyKP;
|
|
59
60
|
kp2: EcJpakeKeyKP;
|
|
60
61
|
};
|
|
@@ -65,9 +66,9 @@ export declare const EcJpakeRound: {
|
|
|
65
66
|
* `Xp2 = X4`, `Xm1 = X1`; for the server `Xp1 = X1`, `Xp2 = X2`, `Xm1 = X3`.
|
|
66
67
|
*/
|
|
67
68
|
composeRound2Generator(args: {
|
|
68
|
-
Xp1:
|
|
69
|
-
Xp2:
|
|
70
|
-
Xm1:
|
|
69
|
+
Xp1: Bytes;
|
|
70
|
+
Xp2: Bytes;
|
|
71
|
+
Xm1: Bytes;
|
|
71
72
|
}): SchnorrZkpGenerator;
|
|
72
73
|
/**
|
|
73
74
|
* Build round 2 from the second private scalar `xm2`, the password (as the
|
|
@@ -78,13 +79,13 @@ export declare const EcJpakeRound: {
|
|
|
78
79
|
* Caller-supplied `v` makes output deterministic for testing; production
|
|
79
80
|
* callers must source `v` from a CSPRNG.
|
|
80
81
|
*/
|
|
81
|
-
buildRound2(args: {
|
|
82
|
+
buildRound2(crypto: Crypto, args: {
|
|
82
83
|
xm2: bigint;
|
|
83
84
|
s: bigint;
|
|
84
85
|
v: bigint;
|
|
85
86
|
id: string;
|
|
86
87
|
generator: SchnorrZkpGenerator;
|
|
87
|
-
}): EcJpakeKeyKP
|
|
88
|
+
}): Promise<EcJpakeKeyKP>;
|
|
88
89
|
/**
|
|
89
90
|
* Serialise a round-2 message. When `prependEcParameters` is true the 3-byte
|
|
90
91
|
* `ECParameters{ named_curve, secp256r1 }` header is emitted before the
|
|
@@ -95,13 +96,13 @@ export declare const EcJpakeRound: {
|
|
|
95
96
|
*/
|
|
96
97
|
serializeRound2(kp: EcJpakeKeyKP, options: {
|
|
97
98
|
prependEcParameters: boolean;
|
|
98
|
-
}):
|
|
99
|
+
}): Bytes;
|
|
99
100
|
/**
|
|
100
101
|
* Parse a round-2 message. `expectEcParameters` must be `true` when the parser
|
|
101
102
|
* is the client reading ServerKeyExchange, and `false` when the parser is the
|
|
102
103
|
* server reading ClientKeyExchange.
|
|
103
104
|
*/
|
|
104
|
-
parseRound2(bytes:
|
|
105
|
+
parseRound2(bytes: Bytes, options: {
|
|
105
106
|
expectEcParameters: boolean;
|
|
106
107
|
}): EcJpakeKeyKP;
|
|
107
108
|
/**
|
|
@@ -110,10 +111,10 @@ export declare const EcJpakeRound: {
|
|
|
110
111
|
* on any verification failure — including malformed bytes — to mirror the
|
|
111
112
|
* round-1 `SchnorrZkp.verify` contract.
|
|
112
113
|
*/
|
|
113
|
-
verifyRound2Zkp(args: {
|
|
114
|
+
verifyRound2Zkp(crypto: Crypto, args: {
|
|
114
115
|
kp: EcJpakeKeyKP;
|
|
115
116
|
generator: SchnorrZkpGenerator;
|
|
116
117
|
peerId: string;
|
|
117
|
-
}): boolean
|
|
118
|
+
}): Promise<boolean>;
|
|
118
119
|
};
|
|
119
120
|
//# sourceMappingURL=EcJpakeRound.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EcJpakeRound.d.ts","sourceRoot":"","sources":["../../../../src/dtls/ecjpake/EcJpakeRound.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"EcJpakeRound.d.ts","sourceRoot":"","sources":["../../../../src/dtls/ecjpake/EcJpakeRound.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IACzB,8CAA8C;IAC9C,CAAC,EAAE,KAAK,CAAC;IACT,4CAA4C;IAC5C,GAAG,EAAE,UAAU,CAAC;CACnB;AAMD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAC1C,eAAO,MAAM,iBAAiB,WAAW,CAAC;AA2F1C;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;IACrB;;;;;;OAMG;IACG,WAAW,SACL,MAAM,QACR;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GACrE,OAAO,CAAC;QACP,GAAG,EAAE,YAAY,CAAC;QAClB,GAAG,EAAE,YAAY,CAAC;KACrB,CAAC;IAYF,eAAe,MAAM,YAAY,OAAO,YAAY,GAAG,KAAK;IAS5D,WAAW,QAAQ,KAAK,GAAG;QAAE,GAAG,EAAE,YAAY,CAAC;QAAC,GAAG,EAAE,YAAY,CAAA;KAAE;IAUnE;;;;;OAKG;IACH,sBAAsB,OAAO;QAAE,GAAG,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,KAAK,CAAA;KAAE,GAAG,mBAAmB;IAWzF;;;;;;;;OAQG;IACG,WAAW,SACL,MAAM,QACR;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,mBAAmB,CAAA;KAAE,GACxF,OAAO,CAAC,YAAY,CAAC;IAwBxB;;;;;;;OAOG;IACH,eAAe,KAAK,YAAY,WAAW;QAAE,mBAAmB,EAAE,OAAO,CAAA;KAAE,GAAG,KAAK;IAcnF;;;;OAIG;IACH,WAAW,QAAQ,KAAK,WAAW;QAAE,kBAAkB,EAAE,OAAO,CAAA;KAAE,GAAG,YAAY;IAuBjF;;;;;OAKG;IACG,eAAe,SACT,MAAM,QACR;QAAE,EAAE,EAAE,YAAY,CAAC;QAAC,SAAS,EAAE,mBAAmB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAC3E,OAAO,CAAC,OAAO,CAAC;CAIb,CAAC"}
|