@matter/protocol 0.16.0-alpha.0-20250812-285b75d83 → 0.16.0-alpha.0-20250815-ac9fd6eb0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/advertisement/ble/BleAdvertisement.js +1 -1
- package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts +2 -2
- package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts.map +1 -1
- package/dist/cjs/ble/Ble.d.ts +2 -2
- package/dist/cjs/ble/Ble.d.ts.map +1 -1
- package/dist/cjs/ble/Ble.js.map +1 -1
- package/dist/cjs/ble/BtpSessionHandler.d.ts +6 -6
- package/dist/cjs/ble/BtpSessionHandler.d.ts.map +1 -1
- package/dist/cjs/ble/BtpSessionHandler.js +9 -9
- package/dist/cjs/ble/BtpSessionHandler.js.map +1 -1
- package/dist/cjs/certificate/AttestationCertificateManager.d.ts +5 -5
- package/dist/cjs/certificate/AttestationCertificateManager.d.ts.map +1 -1
- package/dist/cjs/certificate/AttestationCertificateManager.js +2 -2
- package/dist/cjs/certificate/AttestationCertificateManager.js.map +1 -1
- package/dist/cjs/certificate/CertificateAuthority.d.ts +5 -5
- package/dist/cjs/certificate/CertificateAuthority.d.ts.map +1 -1
- package/dist/cjs/certificate/CertificateAuthority.js +6 -3
- package/dist/cjs/certificate/CertificateAuthority.js.map +1 -1
- package/dist/cjs/certificate/ChipPAAuthorities.d.ts +8 -8
- package/dist/cjs/certificate/DeviceCertification.d.ts +9 -9
- package/dist/cjs/certificate/DeviceCertification.d.ts.map +1 -1
- package/dist/cjs/certificate/DeviceCertification.js +2 -3
- package/dist/cjs/certificate/DeviceCertification.js.map +1 -1
- package/dist/cjs/certificate/kinds/AttestationCertificates.d.ts +1 -1
- package/dist/cjs/certificate/kinds/AttestationCertificates.d.ts.map +1 -1
- package/dist/cjs/certificate/kinds/AttestationCertificates.js.map +1 -1
- package/dist/cjs/certificate/kinds/CertificationDeclaration.d.ts +4 -4
- package/dist/cjs/certificate/kinds/CertificationDeclaration.d.ts.map +1 -1
- package/dist/cjs/certificate/kinds/CertificationDeclaration.js.map +1 -1
- package/dist/cjs/certificate/kinds/Icac.d.ts +3 -3
- package/dist/cjs/certificate/kinds/Icac.d.ts.map +1 -1
- package/dist/cjs/certificate/kinds/Icac.js +2 -2
- package/dist/cjs/certificate/kinds/Icac.js.map +1 -1
- package/dist/cjs/certificate/kinds/Noc.d.ts +3 -3
- package/dist/cjs/certificate/kinds/Noc.d.ts.map +1 -1
- package/dist/cjs/certificate/kinds/Noc.js +2 -2
- package/dist/cjs/certificate/kinds/Noc.js.map +1 -1
- package/dist/cjs/certificate/kinds/OperationalBase.d.ts +2 -1
- package/dist/cjs/certificate/kinds/OperationalBase.d.ts.map +1 -1
- package/dist/cjs/certificate/kinds/OperationalBase.js +2 -2
- package/dist/cjs/certificate/kinds/OperationalBase.js.map +1 -1
- package/dist/cjs/certificate/kinds/Rcac.d.ts +3 -3
- package/dist/cjs/certificate/kinds/Rcac.d.ts.map +1 -1
- package/dist/cjs/certificate/kinds/Rcac.js +2 -2
- package/dist/cjs/certificate/kinds/Rcac.js.map +1 -1
- package/dist/cjs/certificate/kinds/X509Base.d.ts +11 -11
- package/dist/cjs/certificate/kinds/X509Base.d.ts.map +1 -1
- package/dist/cjs/certificate/kinds/X509Base.js +1 -1
- package/dist/cjs/certificate/kinds/X509Base.js.map +1 -1
- package/dist/cjs/certificate/kinds/common.d.ts +2 -2
- package/dist/cjs/certificate/kinds/common.d.ts.map +1 -1
- package/dist/cjs/certificate/kinds/common.js +2 -2
- package/dist/cjs/certificate/kinds/common.js.map +1 -1
- package/dist/cjs/certificate/kinds/definitions/base.d.ts +7 -6
- package/dist/cjs/certificate/kinds/definitions/base.d.ts.map +1 -1
- package/dist/cjs/certificate/kinds/definitions/base.js.map +1 -1
- package/dist/cjs/certificate/kinds/definitions/certification-declaration.d.ts +1 -1
- package/dist/cjs/certificate/kinds/definitions/operational.d.ts +21 -21
- package/dist/cjs/codec/BtpCodec.d.ts +12 -11
- package/dist/cjs/codec/BtpCodec.d.ts.map +1 -1
- package/dist/cjs/codec/BtpCodec.js +1 -1
- package/dist/cjs/codec/BtpCodec.js.map +1 -1
- package/dist/cjs/codec/MessageCodec.d.ts +8 -8
- package/dist/cjs/codec/MessageCodec.d.ts.map +1 -1
- package/dist/cjs/codec/MessageCodec.js +2 -2
- package/dist/cjs/codec/MessageCodec.js.map +1 -1
- package/dist/cjs/common/FailsafeContext.d.ts +8 -8
- package/dist/cjs/common/FailsafeContext.d.ts.map +1 -1
- package/dist/cjs/common/FailsafeContext.js.map +1 -1
- package/dist/cjs/common/OperationalCredentialsTypes.d.ts +8 -8
- package/dist/cjs/fabric/Fabric.d.ts +27 -27
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/fabric/Fabric.js +3 -6
- package/dist/cjs/fabric/Fabric.js.map +1 -1
- package/dist/cjs/fabric/FabricManager.d.ts +2 -2
- package/dist/cjs/fabric/FabricManager.d.ts.map +1 -1
- package/dist/cjs/fabric/FabricManager.js.map +1 -1
- package/dist/cjs/groups/FabricGroups.d.ts +4 -4
- package/dist/cjs/groups/FabricGroups.d.ts.map +1 -1
- package/dist/cjs/groups/Groups.d.ts +1 -1
- package/dist/cjs/groups/KeySets.d.ts +12 -12
- package/dist/cjs/groups/KeySets.d.ts.map +1 -1
- package/dist/cjs/groups/KeySets.js.map +1 -1
- package/dist/cjs/groups/MessagingState.d.ts +4 -4
- package/dist/cjs/groups/MessagingState.d.ts.map +1 -1
- package/dist/cjs/groups/MessagingState.js.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.d.ts +3 -2
- package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.js +9 -9
- package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
- package/dist/cjs/mdns/MdnsClient.d.ts +2 -2
- package/dist/cjs/mdns/MdnsClient.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsClient.js.map +1 -1
- package/dist/cjs/mdns/MdnsSocket.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsSocket.js +5 -5
- package/dist/cjs/mdns/MdnsSocket.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.js +2 -2
- package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/cjs/protocol/ChannelManager.d.ts +2 -2
- package/dist/cjs/protocol/ChannelManager.d.ts.map +1 -1
- package/dist/cjs/protocol/ChannelManager.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +4 -3
- package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
- package/dist/cjs/protocol/MessageChannel.d.ts +3 -3
- package/dist/cjs/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageChannel.js +2 -2
- package/dist/cjs/protocol/MessageChannel.js.map +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +2 -2
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js.map +1 -1
- package/dist/cjs/protocol/ProtocolStatusMessage.d.ts +6 -5
- package/dist/cjs/protocol/ProtocolStatusMessage.d.ts.map +1 -1
- package/dist/cjs/protocol/ProtocolStatusMessage.js +1 -1
- package/dist/cjs/protocol/ProtocolStatusMessage.js.map +1 -1
- package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +1 -1
- package/dist/cjs/session/GroupSession.d.ts +5 -4
- package/dist/cjs/session/GroupSession.d.ts.map +1 -1
- package/dist/cjs/session/GroupSession.js.map +1 -1
- package/dist/cjs/session/InsecureSession.d.ts +1 -1
- package/dist/cjs/session/InsecureSession.d.ts.map +1 -1
- package/dist/cjs/session/InsecureSession.js.map +1 -1
- package/dist/cjs/session/NodeSession.d.ts +8 -8
- package/dist/cjs/session/NodeSession.d.ts.map +1 -1
- package/dist/cjs/session/NodeSession.js +7 -5
- package/dist/cjs/session/NodeSession.js.map +1 -1
- package/dist/cjs/session/Session.d.ts +4 -4
- package/dist/cjs/session/Session.d.ts.map +1 -1
- package/dist/cjs/session/Session.js.map +1 -1
- package/dist/cjs/session/SessionManager.d.ts +8 -8
- package/dist/cjs/session/SessionManager.d.ts.map +1 -1
- package/dist/cjs/session/SessionManager.js +1 -2
- package/dist/cjs/session/SessionManager.js.map +1 -1
- package/dist/cjs/session/case/CaseMessages.d.ts +30 -30
- package/dist/cjs/session/case/CaseMessages.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseMessenger.d.ts +18 -18
- package/dist/cjs/session/pase/PaseClient.d.ts +1 -1
- package/dist/cjs/session/pase/PaseMessages.d.ts +8 -8
- package/dist/cjs/session/pase/PaseMessenger.d.ts +16 -16
- package/dist/cjs/session/pase/PaseMessenger.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseServer.d.ts +3 -3
- package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseServer.js +3 -2
- package/dist/cjs/session/pase/PaseServer.js.map +1 -1
- package/dist/esm/advertisement/ble/BleAdvertisement.js +1 -1
- package/dist/esm/advertisement/ble/BleAdvertiser.d.ts +2 -2
- package/dist/esm/advertisement/ble/BleAdvertiser.d.ts.map +1 -1
- package/dist/esm/ble/Ble.d.ts +2 -2
- package/dist/esm/ble/Ble.d.ts.map +1 -1
- package/dist/esm/ble/Ble.js.map +1 -1
- package/dist/esm/ble/BtpSessionHandler.d.ts +6 -6
- package/dist/esm/ble/BtpSessionHandler.d.ts.map +1 -1
- package/dist/esm/ble/BtpSessionHandler.js +9 -9
- package/dist/esm/ble/BtpSessionHandler.js.map +1 -1
- package/dist/esm/certificate/AttestationCertificateManager.d.ts +5 -5
- package/dist/esm/certificate/AttestationCertificateManager.d.ts.map +1 -1
- package/dist/esm/certificate/AttestationCertificateManager.js +2 -2
- package/dist/esm/certificate/AttestationCertificateManager.js.map +1 -1
- package/dist/esm/certificate/CertificateAuthority.d.ts +5 -5
- package/dist/esm/certificate/CertificateAuthority.d.ts.map +1 -1
- package/dist/esm/certificate/CertificateAuthority.js +6 -3
- package/dist/esm/certificate/CertificateAuthority.js.map +1 -1
- package/dist/esm/certificate/ChipPAAuthorities.d.ts +8 -8
- package/dist/esm/certificate/DeviceCertification.d.ts +9 -9
- package/dist/esm/certificate/DeviceCertification.d.ts.map +1 -1
- package/dist/esm/certificate/DeviceCertification.js +3 -4
- package/dist/esm/certificate/DeviceCertification.js.map +1 -1
- package/dist/esm/certificate/kinds/AttestationCertificates.d.ts +1 -1
- package/dist/esm/certificate/kinds/AttestationCertificates.d.ts.map +1 -1
- package/dist/esm/certificate/kinds/AttestationCertificates.js.map +1 -1
- package/dist/esm/certificate/kinds/CertificationDeclaration.d.ts +4 -4
- package/dist/esm/certificate/kinds/CertificationDeclaration.d.ts.map +1 -1
- package/dist/esm/certificate/kinds/CertificationDeclaration.js.map +1 -1
- package/dist/esm/certificate/kinds/Icac.d.ts +3 -3
- package/dist/esm/certificate/kinds/Icac.d.ts.map +1 -1
- package/dist/esm/certificate/kinds/Icac.js +2 -2
- package/dist/esm/certificate/kinds/Icac.js.map +1 -1
- package/dist/esm/certificate/kinds/Noc.d.ts +3 -3
- package/dist/esm/certificate/kinds/Noc.d.ts.map +1 -1
- package/dist/esm/certificate/kinds/Noc.js +2 -2
- package/dist/esm/certificate/kinds/Noc.js.map +1 -1
- package/dist/esm/certificate/kinds/OperationalBase.d.ts +2 -1
- package/dist/esm/certificate/kinds/OperationalBase.d.ts.map +1 -1
- package/dist/esm/certificate/kinds/OperationalBase.js +2 -2
- package/dist/esm/certificate/kinds/OperationalBase.js.map +1 -1
- package/dist/esm/certificate/kinds/Rcac.d.ts +3 -3
- package/dist/esm/certificate/kinds/Rcac.d.ts.map +1 -1
- package/dist/esm/certificate/kinds/Rcac.js +2 -2
- package/dist/esm/certificate/kinds/Rcac.js.map +1 -1
- package/dist/esm/certificate/kinds/X509Base.d.ts +11 -11
- package/dist/esm/certificate/kinds/X509Base.d.ts.map +1 -1
- package/dist/esm/certificate/kinds/X509Base.js +1 -1
- package/dist/esm/certificate/kinds/X509Base.js.map +1 -1
- package/dist/esm/certificate/kinds/common.d.ts +2 -2
- package/dist/esm/certificate/kinds/common.d.ts.map +1 -1
- package/dist/esm/certificate/kinds/common.js +2 -2
- package/dist/esm/certificate/kinds/common.js.map +1 -1
- package/dist/esm/certificate/kinds/definitions/base.d.ts +7 -6
- package/dist/esm/certificate/kinds/definitions/base.d.ts.map +1 -1
- package/dist/esm/certificate/kinds/definitions/base.js.map +1 -1
- package/dist/esm/certificate/kinds/definitions/certification-declaration.d.ts +1 -1
- package/dist/esm/certificate/kinds/definitions/operational.d.ts +21 -21
- package/dist/esm/codec/BtpCodec.d.ts +12 -11
- package/dist/esm/codec/BtpCodec.d.ts.map +1 -1
- package/dist/esm/codec/BtpCodec.js +1 -1
- package/dist/esm/codec/BtpCodec.js.map +1 -1
- package/dist/esm/codec/MessageCodec.d.ts +8 -8
- package/dist/esm/codec/MessageCodec.d.ts.map +1 -1
- package/dist/esm/codec/MessageCodec.js +2 -2
- package/dist/esm/codec/MessageCodec.js.map +1 -1
- package/dist/esm/common/FailsafeContext.d.ts +8 -8
- package/dist/esm/common/FailsafeContext.d.ts.map +1 -1
- package/dist/esm/common/FailsafeContext.js.map +1 -1
- package/dist/esm/common/OperationalCredentialsTypes.d.ts +8 -8
- package/dist/esm/fabric/Fabric.d.ts +27 -27
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/fabric/Fabric.js +3 -6
- package/dist/esm/fabric/Fabric.js.map +1 -1
- package/dist/esm/fabric/FabricManager.d.ts +2 -2
- package/dist/esm/fabric/FabricManager.d.ts.map +1 -1
- package/dist/esm/fabric/FabricManager.js.map +1 -1
- package/dist/esm/groups/FabricGroups.d.ts +4 -4
- package/dist/esm/groups/FabricGroups.d.ts.map +1 -1
- package/dist/esm/groups/Groups.d.ts +1 -1
- package/dist/esm/groups/KeySets.d.ts +12 -12
- package/dist/esm/groups/KeySets.d.ts.map +1 -1
- package/dist/esm/groups/KeySets.js.map +1 -1
- package/dist/esm/groups/MessagingState.d.ts +4 -4
- package/dist/esm/groups/MessagingState.d.ts.map +1 -1
- package/dist/esm/groups/MessagingState.js.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.d.ts +3 -2
- package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.js +9 -9
- package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
- package/dist/esm/mdns/MdnsClient.d.ts +2 -2
- package/dist/esm/mdns/MdnsClient.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsClient.js.map +1 -1
- package/dist/esm/mdns/MdnsSocket.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsSocket.js +5 -5
- package/dist/esm/mdns/MdnsSocket.js.map +1 -1
- package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -1
- package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.js +2 -2
- package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/esm/protocol/ChannelManager.d.ts +2 -2
- package/dist/esm/protocol/ChannelManager.d.ts.map +1 -1
- package/dist/esm/protocol/ChannelManager.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +5 -3
- package/dist/esm/protocol/ExchangeManager.js.map +1 -1
- package/dist/esm/protocol/MessageChannel.d.ts +3 -3
- package/dist/esm/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/esm/protocol/MessageChannel.js +2 -2
- package/dist/esm/protocol/MessageChannel.js.map +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +2 -2
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js.map +1 -1
- package/dist/esm/protocol/ProtocolStatusMessage.d.ts +6 -5
- package/dist/esm/protocol/ProtocolStatusMessage.d.ts.map +1 -1
- package/dist/esm/protocol/ProtocolStatusMessage.js +1 -1
- package/dist/esm/protocol/ProtocolStatusMessage.js.map +1 -1
- package/dist/esm/securechannel/SecureChannelMessenger.d.ts +1 -1
- package/dist/esm/session/GroupSession.d.ts +5 -4
- package/dist/esm/session/GroupSession.d.ts.map +1 -1
- package/dist/esm/session/GroupSession.js.map +1 -1
- package/dist/esm/session/InsecureSession.d.ts +1 -1
- package/dist/esm/session/InsecureSession.d.ts.map +1 -1
- package/dist/esm/session/InsecureSession.js.map +1 -1
- package/dist/esm/session/NodeSession.d.ts +8 -8
- package/dist/esm/session/NodeSession.d.ts.map +1 -1
- package/dist/esm/session/NodeSession.js +7 -5
- package/dist/esm/session/NodeSession.js.map +1 -1
- package/dist/esm/session/Session.d.ts +4 -4
- package/dist/esm/session/Session.d.ts.map +1 -1
- package/dist/esm/session/Session.js.map +1 -1
- package/dist/esm/session/SessionManager.d.ts +8 -8
- package/dist/esm/session/SessionManager.d.ts.map +1 -1
- package/dist/esm/session/SessionManager.js +1 -2
- package/dist/esm/session/SessionManager.js.map +1 -1
- package/dist/esm/session/case/CaseMessages.d.ts +30 -30
- package/dist/esm/session/case/CaseMessages.d.ts.map +1 -1
- package/dist/esm/session/case/CaseMessenger.d.ts +18 -18
- package/dist/esm/session/pase/PaseClient.d.ts +1 -1
- package/dist/esm/session/pase/PaseMessages.d.ts +8 -8
- package/dist/esm/session/pase/PaseMessenger.d.ts +16 -16
- package/dist/esm/session/pase/PaseMessenger.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseServer.d.ts +3 -3
- package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseServer.js +3 -2
- package/dist/esm/session/pase/PaseServer.js.map +1 -1
- package/package.json +6 -6
- package/src/advertisement/ble/BleAdvertisement.ts +1 -1
- package/src/advertisement/ble/BleAdvertiser.ts +1 -1
- package/src/ble/Ble.ts +2 -2
- package/src/ble/BtpSessionHandler.ts +20 -20
- package/src/certificate/AttestationCertificateManager.ts +5 -5
- package/src/certificate/CertificateAuthority.ts +14 -11
- package/src/certificate/DeviceCertification.ts +11 -13
- package/src/certificate/kinds/AttestationCertificates.ts +1 -1
- package/src/certificate/kinds/CertificationDeclaration.ts +3 -6
- package/src/certificate/kinds/Icac.ts +3 -3
- package/src/certificate/kinds/Noc.ts +3 -3
- package/src/certificate/kinds/OperationalBase.ts +4 -4
- package/src/certificate/kinds/Rcac.ts +3 -3
- package/src/certificate/kinds/X509Base.ts +7 -7
- package/src/certificate/kinds/common.ts +4 -4
- package/src/certificate/kinds/definitions/base.ts +7 -6
- package/src/codec/BtpCodec.ts +13 -13
- package/src/codec/MessageCodec.ts +10 -10
- package/src/common/FailsafeContext.ts +6 -5
- package/src/fabric/Fabric.ts +31 -34
- package/src/fabric/FabricManager.ts +1 -1
- package/src/groups/KeySets.ts +6 -6
- package/src/groups/MessagingState.ts +3 -3
- package/src/interaction/InteractionMessenger.ts +12 -11
- package/src/mdns/MdnsClient.ts +2 -2
- package/src/mdns/MdnsSocket.ts +7 -6
- package/src/peer/ControllerCommissioner.ts +2 -1
- package/src/peer/ControllerCommissioningFlow.ts +5 -5
- package/src/protocol/ChannelManager.ts +3 -3
- package/src/protocol/ExchangeManager.ts +7 -5
- package/src/protocol/MessageChannel.ts +4 -4
- package/src/protocol/MessageExchange.ts +2 -1
- package/src/protocol/ProtocolStatusMessage.ts +6 -6
- package/src/session/GroupSession.ts +7 -7
- package/src/session/InsecureSession.ts +1 -1
- package/src/session/NodeSession.ts +17 -15
- package/src/session/Session.ts +3 -3
- package/src/session/SessionManager.ts +9 -10
- package/src/session/case/CaseServer.ts +8 -8
- package/src/session/pase/PaseServer.ts +5 -4
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { Message, MessageCodec, PacketHeader, SessionType } from "#codec/MessageCodec.js";
|
|
8
8
|
import {
|
|
9
9
|
AsyncObservable,
|
|
10
|
+
Bytes,
|
|
10
11
|
createPromise,
|
|
11
12
|
CRYPTO_AEAD_MIC_LENGTH_BYTES,
|
|
12
13
|
DataReadQueue,
|
|
@@ -344,7 +345,7 @@ export class MessageExchange {
|
|
|
344
345
|
await this.#messagesQueue.write(message);
|
|
345
346
|
}
|
|
346
347
|
|
|
347
|
-
async send(messageType: number, payload:
|
|
348
|
+
async send(messageType: number, payload: Bytes, options?: ExchangeSendOptions) {
|
|
348
349
|
if (options?.requiresAck && !this.channel.usesMrp) {
|
|
349
350
|
options.requiresAck = false;
|
|
350
351
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { DataReader, DataWriter, Endian } from "#general";
|
|
7
|
+
import { Bytes, DataReader, DataWriter, Endian } from "#general";
|
|
8
8
|
import { GeneralStatusCode, Schema, VendorId } from "#types";
|
|
9
9
|
|
|
10
10
|
export type ProtocolStatusMessage<T> = {
|
|
@@ -12,10 +12,10 @@ export type ProtocolStatusMessage<T> = {
|
|
|
12
12
|
protocolId: number;
|
|
13
13
|
vendorId: VendorId;
|
|
14
14
|
protocolStatus: T;
|
|
15
|
-
protocolData?:
|
|
15
|
+
protocolData?: Bytes;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
export abstract class ProtocolStatusMessageSchema<T extends ProtocolStatusMessage<any>> extends Schema<T,
|
|
18
|
+
export abstract class ProtocolStatusMessageSchema<T extends ProtocolStatusMessage<any>> extends Schema<T, Bytes> {
|
|
19
19
|
#protocolId: number;
|
|
20
20
|
#vendorId: number;
|
|
21
21
|
#protocolSpecificDataAllowed: boolean;
|
|
@@ -32,7 +32,7 @@ export abstract class ProtocolStatusMessageSchema<T extends ProtocolStatusMessag
|
|
|
32
32
|
this.#protocolSpecificDataAllowed = protocolSpecificDataAllowed;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
override encode(message: Omit<T, "protocolId" | "vendorId">):
|
|
35
|
+
override encode(message: Omit<T, "protocolId" | "vendorId">): Bytes {
|
|
36
36
|
return super.encode({ ...message, protocolId: this.#protocolId, vendorId: this.#vendorId } as T);
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -41,13 +41,13 @@ export abstract class ProtocolStatusMessageSchema<T extends ProtocolStatusMessag
|
|
|
41
41
|
writer.writeUInt16(generalStatus);
|
|
42
42
|
writer.writeUInt32((vendorId << 16) | protocolId);
|
|
43
43
|
writer.writeUInt16(protocolStatus);
|
|
44
|
-
if (this.#protocolSpecificDataAllowed && protocolData !== undefined && protocolData.
|
|
44
|
+
if (this.#protocolSpecificDataAllowed && protocolData !== undefined && protocolData.byteLength > 0) {
|
|
45
45
|
writer.writeByteArray(protocolData);
|
|
46
46
|
}
|
|
47
47
|
return writer.toByteArray();
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
decodeInternal(bytes:
|
|
50
|
+
decodeInternal(bytes: Bytes) {
|
|
51
51
|
const reader = new DataReader(bytes, Endian.Little);
|
|
52
52
|
const generalStatus = reader.readUInt16();
|
|
53
53
|
const vendorProtocolId = reader.readUInt32();
|
|
@@ -28,7 +28,7 @@ export class GroupSession extends SecureSession {
|
|
|
28
28
|
readonly #id: number;
|
|
29
29
|
readonly #fabric: Fabric;
|
|
30
30
|
readonly #peerNodeId: NodeId;
|
|
31
|
-
readonly #operationalGroupKey:
|
|
31
|
+
readonly #operationalGroupKey: Bytes;
|
|
32
32
|
readonly supportsMRP = false;
|
|
33
33
|
readonly closingAfterExchangeFinished = false; // Group sessions do not close after exchange finished, they are long-lived
|
|
34
34
|
|
|
@@ -40,7 +40,7 @@ export class GroupSession extends SecureSession {
|
|
|
40
40
|
fabric: Fabric;
|
|
41
41
|
keySetId: number; // The Group Key Set ID that was used to encrypt the incoming group message.
|
|
42
42
|
peerNodeId: NodeId; //The Target Group Node Id
|
|
43
|
-
operationalGroupKey:
|
|
43
|
+
operationalGroupKey: Bytes; // The Operational Group Key that was used to encrypt the incoming group message.
|
|
44
44
|
}) {
|
|
45
45
|
const { manager, fabric, operationalGroupKey, id, peerNodeId, keySetId } = args;
|
|
46
46
|
super({
|
|
@@ -103,7 +103,7 @@ export class GroupSession extends SecureSession {
|
|
|
103
103
|
// Group sessions do not have a specific activity notification, so we do nothing here
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
override updateMessageCounter(messageCounter: number, sourceNodeId: NodeId, operationalKey:
|
|
106
|
+
override updateMessageCounter(messageCounter: number, sourceNodeId: NodeId, operationalKey: Bytes) {
|
|
107
107
|
if (sourceNodeId === undefined || operationalKey === undefined) {
|
|
108
108
|
throw new InternalError("Source Node ID is required for GroupSession updateMessageCounter.");
|
|
109
109
|
}
|
|
@@ -141,10 +141,10 @@ export class GroupSession extends SecureSession {
|
|
|
141
141
|
static decode(
|
|
142
142
|
fabrics: FabricManager,
|
|
143
143
|
{ header, applicationPayload, messageExtension }: DecodedPacket,
|
|
144
|
-
aad:
|
|
144
|
+
aad: Bytes,
|
|
145
145
|
): {
|
|
146
146
|
message: DecodedMessage;
|
|
147
|
-
key:
|
|
147
|
+
key: Bytes;
|
|
148
148
|
sessionId: number;
|
|
149
149
|
sourceNodeId: NodeId;
|
|
150
150
|
keySetId: number;
|
|
@@ -162,7 +162,7 @@ export class GroupSession extends SecureSession {
|
|
|
162
162
|
}
|
|
163
163
|
const nonce = Session.generateNonce(header.securityFlags, header.messageId, sourceNodeId);
|
|
164
164
|
const sessionId = header.sessionId;
|
|
165
|
-
const keys = new Array<{ key:
|
|
165
|
+
const keys = new Array<{ key: Bytes; keySetId: number; fabric: Fabric }>();
|
|
166
166
|
for (const fabric of fabrics) {
|
|
167
167
|
const sessions = fabric.groups.sessions.get(sessionId);
|
|
168
168
|
if (sessions?.length) {
|
|
@@ -175,7 +175,7 @@ export class GroupSession extends SecureSession {
|
|
|
175
175
|
throw new MatterFlowError("No key candidate found for group session decryption.");
|
|
176
176
|
}
|
|
177
177
|
let message: DecodedMessage | undefined;
|
|
178
|
-
let key:
|
|
178
|
+
let key: Bytes | undefined;
|
|
179
179
|
let fabric: Fabric | undefined;
|
|
180
180
|
let keySetId: number | undefined;
|
|
181
181
|
let found = false;
|
|
@@ -57,7 +57,7 @@ export class InsecureSession extends Session {
|
|
|
57
57
|
return MessageCodec.encodePayload(message);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
get attestationChallengeKey():
|
|
60
|
+
get attestationChallengeKey(): BufferSource {
|
|
61
61
|
throw new MatterFlowError("Not supported on an unsecure session");
|
|
62
62
|
}
|
|
63
63
|
|
|
@@ -49,9 +49,9 @@ export class NodeSession extends SecureSession {
|
|
|
49
49
|
#fabric: Fabric | undefined;
|
|
50
50
|
readonly #peerNodeId: NodeId;
|
|
51
51
|
readonly #peerSessionId: number;
|
|
52
|
-
readonly #decryptKey:
|
|
53
|
-
readonly #encryptKey:
|
|
54
|
-
readonly #attestationKey:
|
|
52
|
+
readonly #decryptKey: Bytes;
|
|
53
|
+
readonly #encryptKey: Bytes;
|
|
54
|
+
readonly #attestationKey: Bytes;
|
|
55
55
|
#caseAuthenticatedTags: CaseAuthenticatedTag[];
|
|
56
56
|
#isClosing = false;
|
|
57
57
|
readonly supportsMRP = true;
|
|
@@ -64,8 +64,8 @@ export class NodeSession extends SecureSession {
|
|
|
64
64
|
fabric: Fabric | undefined;
|
|
65
65
|
peerNodeId: NodeId;
|
|
66
66
|
peerSessionId: number;
|
|
67
|
-
sharedSecret:
|
|
68
|
-
salt:
|
|
67
|
+
sharedSecret: Bytes;
|
|
68
|
+
salt: Bytes;
|
|
69
69
|
isInitiator: boolean;
|
|
70
70
|
isResumption: boolean;
|
|
71
71
|
peerSessionParameters?: SessionParameterOptions;
|
|
@@ -85,11 +85,13 @@ export class NodeSession extends SecureSession {
|
|
|
85
85
|
peerSessionParameters,
|
|
86
86
|
caseAuthenticatedTags,
|
|
87
87
|
} = args;
|
|
88
|
-
const keys =
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
const keys = Bytes.of(
|
|
89
|
+
await args.crypto.createHkdfKey(
|
|
90
|
+
sharedSecret,
|
|
91
|
+
salt,
|
|
92
|
+
isResumption ? SESSION_RESUMPTION_KEYS_INFO : SESSION_KEYS_INFO,
|
|
93
|
+
CRYPTO_SYMMETRIC_KEY_LENGTH * 3,
|
|
94
|
+
),
|
|
93
95
|
);
|
|
94
96
|
const decryptKey = isInitiator ? keys.slice(16, 32) : keys.slice(0, 16);
|
|
95
97
|
const encryptKey = isInitiator ? keys.slice(0, 16) : keys.slice(16, 32);
|
|
@@ -117,9 +119,9 @@ export class NodeSession extends SecureSession {
|
|
|
117
119
|
fabric: Fabric | undefined;
|
|
118
120
|
peerNodeId: NodeId;
|
|
119
121
|
peerSessionId: number;
|
|
120
|
-
decryptKey:
|
|
121
|
-
encryptKey:
|
|
122
|
-
attestationKey:
|
|
122
|
+
decryptKey: Bytes;
|
|
123
|
+
encryptKey: Bytes;
|
|
124
|
+
attestationKey: Bytes;
|
|
123
125
|
sessionParameters?: SessionParameterOptions;
|
|
124
126
|
caseAuthenticatedTags?: CaseAuthenticatedTag[];
|
|
125
127
|
isInitiator: boolean;
|
|
@@ -229,7 +231,7 @@ export class NodeSession extends SecureSession {
|
|
|
229
231
|
await this.end(true, closeAfterExchangeFinished);
|
|
230
232
|
}
|
|
231
233
|
|
|
232
|
-
decode({ header, applicationPayload, messageExtension }: DecodedPacket, aad:
|
|
234
|
+
decode({ header, applicationPayload, messageExtension }: DecodedPacket, aad: Bytes): DecodedMessage {
|
|
233
235
|
if (header.hasMessageExtensions) {
|
|
234
236
|
logger.info(
|
|
235
237
|
`Message extensions are not supported. Ignoring ${messageExtension ? Bytes.toHex(messageExtension) : undefined}`,
|
|
@@ -265,7 +267,7 @@ export class NodeSession extends SecureSession {
|
|
|
265
267
|
};
|
|
266
268
|
}
|
|
267
269
|
|
|
268
|
-
get attestationChallengeKey():
|
|
270
|
+
get attestationChallengeKey(): Bytes {
|
|
269
271
|
return this.#attestationKey;
|
|
270
272
|
}
|
|
271
273
|
|
package/src/session/Session.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { SupportedTransportsBitmap } from "#common/SupportedTransportsBitmap.js";
|
|
8
|
-
import { AsyncObservable, DataWriter, Endian, InternalError, Time } from "#general";
|
|
8
|
+
import { AsyncObservable, Bytes, DataWriter, Endian, InternalError, Time } from "#general";
|
|
9
9
|
import { NodeId, TypeFromPartialBitSchema } from "#types";
|
|
10
10
|
import { DecodedMessage, DecodedPacket, Message, Packet, SessionType } from "../codec/MessageCodec.js";
|
|
11
11
|
import { Fabric } from "../fabric/Fabric.js";
|
|
@@ -149,7 +149,7 @@ export abstract class Session {
|
|
|
149
149
|
return this.messageCounter.getIncrementedCounter();
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
-
updateMessageCounter(messageCounter: number, _sourceNodeId?: NodeId, _operationalKey?:
|
|
152
|
+
updateMessageCounter(messageCounter: number, _sourceNodeId?: NodeId, _operationalKey?: Bytes) {
|
|
153
153
|
if (this.messageReceptionState === undefined) {
|
|
154
154
|
throw new InternalError("MessageReceptionState is not defined for this session");
|
|
155
155
|
}
|
|
@@ -200,7 +200,7 @@ export abstract class Session {
|
|
|
200
200
|
abstract associatedFabric: Fabric;
|
|
201
201
|
abstract supportsMRP: boolean; // TODO: always false for Group Sessions
|
|
202
202
|
|
|
203
|
-
abstract decode(packet: DecodedPacket, aad?:
|
|
203
|
+
abstract decode(packet: DecodedPacket, aad?: Bytes): DecodedMessage;
|
|
204
204
|
abstract encode(message: Message): Packet;
|
|
205
205
|
abstract end(sendClose: boolean): Promise<void>;
|
|
206
206
|
abstract destroy(sendClose?: boolean, closeAfterExchangeFinished?: boolean): Promise<void>;
|
|
@@ -59,8 +59,8 @@ const DEFAULT_SESSION_PARAMETERS = {
|
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
export interface ResumptionRecord {
|
|
62
|
-
sharedSecret:
|
|
63
|
-
resumptionId:
|
|
62
|
+
sharedSecret: Bytes;
|
|
63
|
+
resumptionId: Bytes;
|
|
64
64
|
fabric: Fabric;
|
|
65
65
|
peerNodeId: NodeId;
|
|
66
66
|
sessionParameters: SessionParameters;
|
|
@@ -69,8 +69,8 @@ export interface ResumptionRecord {
|
|
|
69
69
|
|
|
70
70
|
type ResumptionStorageRecord = {
|
|
71
71
|
nodeId: NodeId;
|
|
72
|
-
sharedSecret:
|
|
73
|
-
resumptionId:
|
|
72
|
+
sharedSecret: Bytes;
|
|
73
|
+
resumptionId: Bytes;
|
|
74
74
|
fabricId: FabricId;
|
|
75
75
|
peerNodeId: NodeId;
|
|
76
76
|
sessionParameters: {
|
|
@@ -265,8 +265,8 @@ export class SessionManager {
|
|
|
265
265
|
fabric: Fabric | undefined;
|
|
266
266
|
peerNodeId: NodeId;
|
|
267
267
|
peerSessionId: number;
|
|
268
|
-
sharedSecret:
|
|
269
|
-
salt:
|
|
268
|
+
sharedSecret: Bytes;
|
|
269
|
+
salt: Bytes;
|
|
270
270
|
isInitiator: boolean;
|
|
271
271
|
isResumption: boolean;
|
|
272
272
|
peerSessionParameters?: SessionParameterOptions;
|
|
@@ -408,8 +408,7 @@ export class SessionManager {
|
|
|
408
408
|
//TODO: It can have multiple sessions for one node ...
|
|
409
409
|
return [...this.#sessions].find(session => {
|
|
410
410
|
if (!session.isSecure) return false;
|
|
411
|
-
|
|
412
|
-
return secureSession.peerIs(address);
|
|
411
|
+
return session.peerIs(address);
|
|
413
412
|
});
|
|
414
413
|
}
|
|
415
414
|
|
|
@@ -471,7 +470,7 @@ export class SessionManager {
|
|
|
471
470
|
* Creates or Returns the Group session based on an incoming packet.
|
|
472
471
|
* The Session ID is determined by trying to decrypt te packet with possible keys.
|
|
473
472
|
*/
|
|
474
|
-
groupSessionFromPacket(packet: DecodedPacket, aad:
|
|
473
|
+
groupSessionFromPacket(packet: DecodedPacket, aad: Bytes) {
|
|
475
474
|
const groupId = packet.header.destGroupId;
|
|
476
475
|
if (groupId === undefined) {
|
|
477
476
|
throw new UnexpectedDataError("Group ID is required for GroupSession fromPacket.");
|
|
@@ -517,7 +516,7 @@ export class SessionManager {
|
|
|
517
516
|
}
|
|
518
517
|
}
|
|
519
518
|
|
|
520
|
-
findResumptionRecordById(resumptionId:
|
|
519
|
+
findResumptionRecordById(resumptionId: Bytes) {
|
|
521
520
|
this.#construction.assert();
|
|
522
521
|
return [...this.#resumptionRecords.values()].find(record => Bytes.areEqual(record.resumptionId, resumptionId));
|
|
523
522
|
}
|
|
@@ -305,22 +305,22 @@ export class CaseServer implements ProtocolHandler {
|
|
|
305
305
|
class Sigma1Context {
|
|
306
306
|
crypto: Crypto;
|
|
307
307
|
messenger: CaseServerMessenger;
|
|
308
|
-
bytes:
|
|
308
|
+
bytes: Bytes;
|
|
309
309
|
peerSessionId: number;
|
|
310
|
-
peerResumptionId?:
|
|
311
|
-
peerResumeMic?:
|
|
312
|
-
destinationId:
|
|
313
|
-
peerRandom:
|
|
314
|
-
peerEcdhPublicKey:
|
|
310
|
+
peerResumptionId?: Bytes;
|
|
311
|
+
peerResumeMic?: Bytes;
|
|
312
|
+
destinationId: Bytes;
|
|
313
|
+
peerRandom: Bytes;
|
|
314
|
+
peerEcdhPublicKey: Bytes;
|
|
315
315
|
peerSessionParams?: TypeFromSchema<typeof TlvSessionParameters>;
|
|
316
316
|
resumptionRecord?: ResumptionRecord;
|
|
317
317
|
|
|
318
|
-
#localResumptionId?:
|
|
318
|
+
#localResumptionId?: Bytes;
|
|
319
319
|
|
|
320
320
|
constructor(
|
|
321
321
|
crypto: Crypto,
|
|
322
322
|
messenger: CaseServerMessenger,
|
|
323
|
-
bytes:
|
|
323
|
+
bytes: Bytes,
|
|
324
324
|
sigma1: TypeFromSchema<typeof TlvCaseSigma1>,
|
|
325
325
|
resumptionRecord?: ResumptionRecord,
|
|
326
326
|
) {
|
|
@@ -46,18 +46,19 @@ export class PaseServer implements ProtocolHandler {
|
|
|
46
46
|
|
|
47
47
|
static fromVerificationValue(
|
|
48
48
|
sessions: SessionManager,
|
|
49
|
-
verificationValue:
|
|
49
|
+
verificationValue: Bytes,
|
|
50
50
|
pbkdfParameters?: PbkdfParameters,
|
|
51
51
|
) {
|
|
52
|
-
const
|
|
53
|
-
const
|
|
52
|
+
const verificationData = Bytes.of(verificationValue);
|
|
53
|
+
const w0 = bytesToNumberBE(verificationData.slice(0, 32));
|
|
54
|
+
const L = verificationData.slice(32, 32 + 65);
|
|
54
55
|
return new PaseServer(sessions, w0, L, pbkdfParameters);
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
constructor(
|
|
58
59
|
private sessions: SessionManager,
|
|
59
60
|
private readonly w0: bigint,
|
|
60
|
-
private readonly L:
|
|
61
|
+
private readonly L: Bytes,
|
|
61
62
|
private readonly pbkdfParameters?: PbkdfParameters,
|
|
62
63
|
) {}
|
|
63
64
|
|