@matter/protocol 0.15.0-alpha.0-20250613-a55f991d4 → 0.15.0-alpha.0-20250616-4b3754906
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/certificate/AttestationCertificateManager.d.ts +3 -3
- package/dist/cjs/certificate/AttestationCertificateManager.d.ts.map +1 -1
- package/dist/cjs/certificate/AttestationCertificateManager.js +12 -10
- package/dist/cjs/certificate/AttestationCertificateManager.js.map +1 -1
- package/dist/cjs/certificate/CertificateAuthority.d.ts +5 -3
- package/dist/cjs/certificate/CertificateAuthority.d.ts.map +1 -1
- package/dist/cjs/certificate/CertificateAuthority.js +19 -11
- package/dist/cjs/certificate/CertificateAuthority.js.map +1 -1
- package/dist/cjs/certificate/CertificateManager.d.ts +18 -15
- package/dist/cjs/certificate/CertificateManager.d.ts.map +1 -1
- package/dist/cjs/certificate/CertificateManager.js +92 -83
- package/dist/cjs/certificate/CertificateManager.js.map +2 -2
- package/dist/cjs/certificate/CertificationDeclarationManager.d.ts +7 -1
- package/dist/cjs/certificate/CertificationDeclarationManager.d.ts.map +1 -1
- package/dist/cjs/certificate/CertificationDeclarationManager.js +2 -2
- package/dist/cjs/certificate/CertificationDeclarationManager.js.map +1 -1
- package/dist/cjs/certificate/DeviceCertification.d.ts +2 -2
- package/dist/cjs/certificate/DeviceCertification.d.ts.map +1 -1
- package/dist/cjs/certificate/DeviceCertification.js +10 -4
- package/dist/cjs/certificate/DeviceCertification.js.map +1 -1
- package/dist/cjs/common/FailsafeContext.js +1 -1
- package/dist/cjs/common/FailsafeContext.js.map +1 -1
- package/dist/cjs/fabric/Fabric.d.ts +6 -4
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/fabric/Fabric.js +33 -20
- package/dist/cjs/fabric/Fabric.js.map +1 -1
- package/dist/cjs/fabric/FabricAuthority.d.ts +1 -1
- package/dist/cjs/fabric/FabricAuthority.d.ts.map +1 -1
- package/dist/cjs/fabric/FabricAuthority.js +7 -7
- package/dist/cjs/fabric/FabricAuthority.js.map +1 -1
- package/dist/cjs/fabric/FabricManager.d.ts +3 -2
- package/dist/cjs/fabric/FabricManager.d.ts.map +1 -1
- package/dist/cjs/fabric/FabricManager.js +8 -3
- package/dist/cjs/fabric/FabricManager.js.map +1 -1
- package/dist/cjs/fabric/TestFabric.d.ts.map +1 -1
- package/dist/cjs/fabric/TestFabric.js +15 -19
- package/dist/cjs/fabric/TestFabric.js.map +1 -1
- package/dist/cjs/groups/FabricGroups.d.ts.map +1 -1
- package/dist/cjs/groups/FabricGroups.js +11 -7
- package/dist/cjs/groups/FabricGroups.js.map +1 -1
- package/dist/cjs/groups/KeySets.d.ts +2 -2
- package/dist/cjs/groups/KeySets.d.ts.map +1 -1
- package/dist/cjs/groups/KeySets.js +2 -2
- package/dist/cjs/groups/KeySets.js.map +1 -1
- package/dist/cjs/groups/MessagingState.d.ts +2 -2
- package/dist/cjs/groups/MessagingState.d.ts.map +1 -1
- package/dist/cjs/groups/MessagingState.js +4 -2
- package/dist/cjs/groups/MessagingState.js.map +1 -1
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts +3 -3
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsBroadcaster.js +7 -4
- package/dist/cjs/mdns/MdnsBroadcaster.js.map +1 -1
- package/dist/cjs/mdns/MdnsService.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsService.js +2 -1
- package/dist/cjs/mdns/MdnsService.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioner.js +1 -1
- package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.d.ts +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.js +3 -4
- package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.d.ts +4 -2
- package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +11 -6
- package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
- package/dist/cjs/protocol/MessageCounter.d.ts +4 -4
- package/dist/cjs/protocol/MessageCounter.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageCounter.js +7 -6
- package/dist/cjs/protocol/MessageCounter.js.map +1 -1
- package/dist/cjs/session/GroupSession.d.ts.map +1 -1
- package/dist/cjs/session/GroupSession.js +7 -2
- package/dist/cjs/session/GroupSession.js.map +1 -1
- package/dist/cjs/session/InsecureSession.d.ts +2 -0
- package/dist/cjs/session/InsecureSession.d.ts.map +1 -1
- package/dist/cjs/session/InsecureSession.js +2 -2
- package/dist/cjs/session/InsecureSession.js.map +1 -1
- package/dist/cjs/session/NodeSession.d.ts +3 -1
- package/dist/cjs/session/NodeSession.d.ts.map +1 -1
- package/dist/cjs/session/NodeSession.js +21 -13
- package/dist/cjs/session/NodeSession.js.map +1 -1
- package/dist/cjs/session/SessionManager.d.ts +1 -0
- package/dist/cjs/session/SessionManager.d.ts.map +1 -1
- package/dist/cjs/session/SessionManager.js +13 -3
- package/dist/cjs/session/SessionManager.js.map +1 -1
- package/dist/cjs/session/case/CaseClient.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseClient.js +16 -15
- package/dist/cjs/session/case/CaseClient.js.map +1 -1
- package/dist/cjs/session/case/CaseServer.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseServer.js +22 -18
- package/dist/cjs/session/case/CaseServer.js.map +1 -1
- package/dist/cjs/session/pase/PaseClient.d.ts +4 -4
- package/dist/cjs/session/pase/PaseClient.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseClient.js +11 -9
- package/dist/cjs/session/pase/PaseClient.js.map +1 -1
- package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseServer.js +6 -5
- package/dist/cjs/session/pase/PaseServer.js.map +1 -1
- package/dist/esm/certificate/AttestationCertificateManager.d.ts +3 -3
- package/dist/esm/certificate/AttestationCertificateManager.d.ts.map +1 -1
- package/dist/esm/certificate/AttestationCertificateManager.js +13 -11
- package/dist/esm/certificate/AttestationCertificateManager.js.map +1 -1
- package/dist/esm/certificate/CertificateAuthority.d.ts +5 -3
- package/dist/esm/certificate/CertificateAuthority.d.ts.map +1 -1
- package/dist/esm/certificate/CertificateAuthority.js +19 -11
- package/dist/esm/certificate/CertificateAuthority.js.map +1 -1
- package/dist/esm/certificate/CertificateManager.d.ts +18 -15
- package/dist/esm/certificate/CertificateManager.d.ts.map +1 -1
- package/dist/esm/certificate/CertificateManager.js +92 -84
- package/dist/esm/certificate/CertificateManager.js.map +2 -2
- package/dist/esm/certificate/CertificationDeclarationManager.d.ts +7 -1
- package/dist/esm/certificate/CertificationDeclarationManager.d.ts.map +1 -1
- package/dist/esm/certificate/CertificationDeclarationManager.js +2 -2
- package/dist/esm/certificate/CertificationDeclarationManager.js.map +1 -1
- package/dist/esm/certificate/DeviceCertification.d.ts +2 -2
- package/dist/esm/certificate/DeviceCertification.d.ts.map +1 -1
- package/dist/esm/certificate/DeviceCertification.js +11 -5
- package/dist/esm/certificate/DeviceCertification.js.map +1 -1
- package/dist/esm/common/FailsafeContext.js +1 -1
- package/dist/esm/common/FailsafeContext.js.map +1 -1
- package/dist/esm/fabric/Fabric.d.ts +6 -4
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/fabric/Fabric.js +33 -21
- package/dist/esm/fabric/Fabric.js.map +1 -1
- package/dist/esm/fabric/FabricAuthority.d.ts +1 -1
- package/dist/esm/fabric/FabricAuthority.d.ts.map +1 -1
- package/dist/esm/fabric/FabricAuthority.js +8 -15
- package/dist/esm/fabric/FabricAuthority.js.map +1 -1
- package/dist/esm/fabric/FabricManager.d.ts +3 -2
- package/dist/esm/fabric/FabricManager.d.ts.map +1 -1
- package/dist/esm/fabric/FabricManager.js +9 -3
- package/dist/esm/fabric/FabricManager.js.map +1 -1
- package/dist/esm/fabric/TestFabric.d.ts.map +1 -1
- package/dist/esm/fabric/TestFabric.js +16 -20
- package/dist/esm/fabric/TestFabric.js.map +1 -1
- package/dist/esm/groups/FabricGroups.d.ts.map +1 -1
- package/dist/esm/groups/FabricGroups.js +12 -8
- package/dist/esm/groups/FabricGroups.js.map +1 -1
- package/dist/esm/groups/KeySets.d.ts +2 -2
- package/dist/esm/groups/KeySets.d.ts.map +1 -1
- package/dist/esm/groups/KeySets.js +3 -3
- package/dist/esm/groups/KeySets.js.map +1 -1
- package/dist/esm/groups/MessagingState.d.ts +2 -2
- package/dist/esm/groups/MessagingState.d.ts.map +1 -1
- package/dist/esm/groups/MessagingState.js +4 -2
- package/dist/esm/groups/MessagingState.js.map +1 -1
- package/dist/esm/mdns/MdnsBroadcaster.d.ts +3 -3
- package/dist/esm/mdns/MdnsBroadcaster.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsBroadcaster.js +7 -5
- package/dist/esm/mdns/MdnsBroadcaster.js.map +1 -1
- package/dist/esm/mdns/MdnsService.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsService.js +3 -1
- package/dist/esm/mdns/MdnsService.js.map +1 -1
- package/dist/esm/peer/ControllerCommissioner.js +1 -1
- package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.d.ts +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.js +3 -5
- package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.js +1 -2
- package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.d.ts +4 -2
- package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +11 -6
- package/dist/esm/protocol/ExchangeManager.js.map +1 -1
- package/dist/esm/protocol/MessageCounter.d.ts +4 -4
- package/dist/esm/protocol/MessageCounter.d.ts.map +1 -1
- package/dist/esm/protocol/MessageCounter.js +8 -7
- package/dist/esm/protocol/MessageCounter.js.map +1 -1
- package/dist/esm/session/GroupSession.d.ts.map +1 -1
- package/dist/esm/session/GroupSession.js +7 -3
- package/dist/esm/session/GroupSession.js.map +1 -1
- package/dist/esm/session/InsecureSession.d.ts +2 -0
- package/dist/esm/session/InsecureSession.d.ts.map +1 -1
- package/dist/esm/session/InsecureSession.js +2 -2
- package/dist/esm/session/InsecureSession.js.map +1 -1
- package/dist/esm/session/NodeSession.d.ts +3 -1
- package/dist/esm/session/NodeSession.d.ts.map +1 -1
- package/dist/esm/session/NodeSession.js +22 -14
- package/dist/esm/session/NodeSession.js.map +1 -1
- package/dist/esm/session/SessionManager.d.ts +1 -0
- package/dist/esm/session/SessionManager.d.ts.map +1 -1
- package/dist/esm/session/SessionManager.js +13 -4
- package/dist/esm/session/SessionManager.js.map +1 -1
- package/dist/esm/session/case/CaseClient.d.ts.map +1 -1
- package/dist/esm/session/case/CaseClient.js +17 -16
- package/dist/esm/session/case/CaseClient.js.map +1 -1
- package/dist/esm/session/case/CaseServer.d.ts.map +1 -1
- package/dist/esm/session/case/CaseServer.js +23 -19
- package/dist/esm/session/case/CaseServer.js.map +1 -1
- package/dist/esm/session/pase/PaseClient.d.ts +4 -4
- package/dist/esm/session/pase/PaseClient.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseClient.js +12 -10
- package/dist/esm/session/pase/PaseClient.js.map +1 -1
- package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseServer.js +6 -6
- package/dist/esm/session/pase/PaseServer.js.map +1 -1
- package/package.json +6 -6
- package/src/certificate/AttestationCertificateManager.ts +12 -10
- package/src/certificate/CertificateAuthority.ts +20 -11
- package/src/certificate/CertificateManager.ts +77 -72
- package/src/certificate/CertificationDeclarationManager.ts +3 -3
- package/src/certificate/DeviceCertification.ts +10 -4
- package/src/common/FailsafeContext.ts +1 -1
- package/src/fabric/Fabric.ts +36 -20
- package/src/fabric/FabricAuthority.ts +8 -16
- package/src/fabric/FabricManager.ts +10 -3
- package/src/fabric/TestFabric.ts +17 -22
- package/src/groups/FabricGroups.ts +20 -8
- package/src/groups/KeySets.ts +2 -2
- package/src/groups/MessagingState.ts +6 -3
- package/src/mdns/MdnsBroadcaster.ts +11 -4
- package/src/mdns/MdnsService.ts +3 -1
- package/src/peer/ControllerCommissioner.ts +1 -1
- package/src/peer/ControllerCommissioningFlow.ts +4 -6
- package/src/protocol/DeviceCommissioner.ts +1 -2
- package/src/protocol/ExchangeManager.ts +13 -6
- package/src/protocol/MessageCounter.ts +11 -3
- package/src/session/GroupSession.ts +7 -3
- package/src/session/InsecureSession.ts +4 -3
- package/src/session/NodeSession.ts +25 -14
- package/src/session/SessionManager.ts +14 -4
- package/src/session/case/CaseClient.ts +18 -16
- package/src/session/case/CaseServer.ts +22 -17
- package/src/session/pase/PaseClient.ts +11 -9
- package/src/session/pase/PaseServer.ts +6 -5
|
@@ -46,6 +46,7 @@ class NoAssociatedFabricError extends import_types.StatusResponseError {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
class NodeSession extends import_SecureSession.SecureSession {
|
|
49
|
+
#crypto;
|
|
49
50
|
#subscriptions = new import_general.BasicSet();
|
|
50
51
|
#closingAfterExchangeFinished = false;
|
|
51
52
|
#sendCloseMessageWhenClosing = true;
|
|
@@ -63,6 +64,7 @@ class NodeSession extends import_SecureSession.SecureSession {
|
|
|
63
64
|
type = import_MessageCodec.SessionType.Unicast;
|
|
64
65
|
static async create(args) {
|
|
65
66
|
const {
|
|
67
|
+
crypto,
|
|
66
68
|
manager,
|
|
67
69
|
id,
|
|
68
70
|
fabric,
|
|
@@ -75,7 +77,7 @@ class NodeSession extends import_SecureSession.SecureSession {
|
|
|
75
77
|
peerSessionParameters,
|
|
76
78
|
caseAuthenticatedTags
|
|
77
79
|
} = args;
|
|
78
|
-
const keys = await
|
|
80
|
+
const keys = await args.crypto.createHkdfKey(
|
|
79
81
|
sharedSecret,
|
|
80
82
|
salt,
|
|
81
83
|
isResumption ? SESSION_RESUMPTION_KEYS_INFO : SESSION_KEYS_INFO,
|
|
@@ -85,6 +87,7 @@ class NodeSession extends import_SecureSession.SecureSession {
|
|
|
85
87
|
const encryptKey = isInitiator ? keys.slice(0, 16) : keys.slice(16, 32);
|
|
86
88
|
const attestationKey = keys.slice(32, 48);
|
|
87
89
|
return new NodeSession({
|
|
90
|
+
crypto,
|
|
88
91
|
manager,
|
|
89
92
|
id,
|
|
90
93
|
fabric,
|
|
@@ -99,17 +102,8 @@ class NodeSession extends import_SecureSession.SecureSession {
|
|
|
99
102
|
});
|
|
100
103
|
}
|
|
101
104
|
constructor(args) {
|
|
102
|
-
super({
|
|
103
|
-
...args,
|
|
104
|
-
setActiveTimestamp: true,
|
|
105
|
-
// We always set the active timestamp for Secure sessions
|
|
106
|
-
// Can be changed to a PersistedMessageCounter if we implement session storage
|
|
107
|
-
messageCounter: new import_MessageCounter.MessageCounter(() => {
|
|
108
|
-
this.end(true, true).catch((error) => logger.error(`Error while closing session: ${error}`));
|
|
109
|
-
}),
|
|
110
|
-
messageReceptionState: new import_MessageReceptionState.MessageReceptionStateEncryptedWithoutRollover()
|
|
111
|
-
});
|
|
112
105
|
const {
|
|
106
|
+
crypto,
|
|
113
107
|
manager,
|
|
114
108
|
id,
|
|
115
109
|
fabric,
|
|
@@ -121,6 +115,17 @@ class NodeSession extends import_SecureSession.SecureSession {
|
|
|
121
115
|
caseAuthenticatedTags,
|
|
122
116
|
isInitiator
|
|
123
117
|
} = args;
|
|
118
|
+
super({
|
|
119
|
+
...args,
|
|
120
|
+
setActiveTimestamp: true,
|
|
121
|
+
// We always set the active timestamp for Secure sessions
|
|
122
|
+
// Can be changed to a PersistedMessageCounter if we implement session storage
|
|
123
|
+
messageCounter: new import_MessageCounter.MessageCounter(crypto, () => {
|
|
124
|
+
this.end(true, true).catch((error) => logger.error(`Error while closing session: ${error}`));
|
|
125
|
+
}),
|
|
126
|
+
messageReceptionState: new import_MessageReceptionState.MessageReceptionStateEncryptedWithoutRollover()
|
|
127
|
+
});
|
|
128
|
+
this.#crypto = crypto;
|
|
124
129
|
this.#id = id;
|
|
125
130
|
this.#fabric = fabric;
|
|
126
131
|
this.#peerNodeId = peerNodeId;
|
|
@@ -195,7 +200,7 @@ class NodeSession extends import_SecureSession.SecureSession {
|
|
|
195
200
|
const nonce = import_Session.Session.generateNonce(header.securityFlags, header.messageId, this.#peerNodeId);
|
|
196
201
|
const message = import_MessageCodec.MessageCodec.decodePayload({
|
|
197
202
|
header,
|
|
198
|
-
applicationPayload:
|
|
203
|
+
applicationPayload: this.#crypto.decrypt(this.#decryptKey, applicationPayload, nonce, aad)
|
|
199
204
|
});
|
|
200
205
|
if (message.payloadHeader.hasSecuredExtension) {
|
|
201
206
|
logger.info(
|
|
@@ -211,7 +216,10 @@ class NodeSession extends import_SecureSession.SecureSession {
|
|
|
211
216
|
const securityFlags = headerBytes[3];
|
|
212
217
|
const sessionNodeId = this.isPase ? import_types.NodeId.UNSPECIFIED_NODE_ID : this.#fabric?.nodeId ?? import_types.NodeId.UNSPECIFIED_NODE_ID;
|
|
213
218
|
const nonce = import_Session.Session.generateNonce(securityFlags, header.messageId, sessionNodeId);
|
|
214
|
-
return {
|
|
219
|
+
return {
|
|
220
|
+
header,
|
|
221
|
+
applicationPayload: this.#crypto.encrypt(this.#encryptKey, applicationPayload, nonce, headerBytes)
|
|
222
|
+
};
|
|
215
223
|
}
|
|
216
224
|
get attestationChallengeKey() {
|
|
217
225
|
return this.#attestationKey;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/session/NodeSession.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAwB;AACxB,0BAA0F;AAE1F,qBAA0G;AAE1G,yBAA4B;AAC5B,4BAA+B;AAC/B,4BAA+B;AAC/B,mCAA8D;AAC9D,mBAA2F;AAC3F,2BAA8B;AAC9B,qBAAiD;AAjBjD;AAAA;AAAA;AAAA;AAAA;AAoBA,MAAM,SAAS,sBAAO,IAAI,eAAe;AAEzC,MAAM,oBAAoB,qBAAM,WAAW,aAAa;AACxD,MAAM,+BAA+B,qBAAM,WAAW,uBAAuB;AAEtE,MAAM,gCAAgC,iCAAoB;AAAA,EAC7D,YAAY,SAAiB;AACzB,UAAM,SAAS,wBAAW,iBAAiB;AAAA,EAC/C;AACJ;AAEO,MAAM,oBAAoB,mCAAc;AAAA,EAClC,iBAAiB,IAAI,wBAAuB;AAAA,EACrD,gCAAgC;AAAA,EAChC,+BAA+B;AAAA,EACtB;AAAA,EACA;AAAA,EACT;AAAA,EACS;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACT;AAAA,EACA,aAAa;AAAA,EACJ,cAAc;AAAA,EACd,OAAO,gCAAY;AAAA,EAE5B,aAAa,OAAO,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["NodeSession"]
|
|
6
6
|
}
|
|
@@ -49,6 +49,7 @@ export declare class SessionManager {
|
|
|
49
49
|
static [Environmental.create](env: Environment): SessionManager;
|
|
50
50
|
get construction(): Construction<SessionManager>;
|
|
51
51
|
get context(): SessionManagerContext;
|
|
52
|
+
get crypto(): import("#general").Crypto;
|
|
52
53
|
/**
|
|
53
54
|
* Active secure sessions.
|
|
54
55
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../../src/session/SessionManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACH,QAAQ,EAER,YAAY,
|
|
1
|
+
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../../src/session/SessionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,9 +59,9 @@ class SessionManager {
|
|
|
59
59
|
#insecureSessions = /* @__PURE__ */ new Map();
|
|
60
60
|
#sessions = new import_general.BasicSet();
|
|
61
61
|
#groupSessions = /* @__PURE__ */ new Map();
|
|
62
|
-
#nextSessionId
|
|
62
|
+
#nextSessionId;
|
|
63
63
|
#resumptionRecords = new import_PeerAddress.PeerAddressMap();
|
|
64
|
-
#globalUnencryptedMessageCounter
|
|
64
|
+
#globalUnencryptedMessageCounter;
|
|
65
65
|
#subscriptionsChanged = (0, import_general.Observable)();
|
|
66
66
|
#sessionParameters;
|
|
67
67
|
#resubmissionStarted = (0, import_general.Observable)();
|
|
@@ -71,7 +71,12 @@ class SessionManager {
|
|
|
71
71
|
#idUpperBound = ID_SPACE_UPPER_BOUND;
|
|
72
72
|
constructor(context) {
|
|
73
73
|
this.#context = context;
|
|
74
|
+
const {
|
|
75
|
+
fabrics: { crypto }
|
|
76
|
+
} = context;
|
|
74
77
|
this.#sessionParameters = { ...DEFAULT_SESSION_PARAMETERS, ...context.parameters };
|
|
78
|
+
this.#nextSessionId = crypto.randomUint16;
|
|
79
|
+
this.#globalUnencryptedMessageCounter = new import_MessageCounter.MessageCounter(crypto);
|
|
75
80
|
this.#observers.on(context.fabrics.events.deleted, async (fabric) => {
|
|
76
81
|
await this.deleteResumptionRecordsForFabric(fabric);
|
|
77
82
|
});
|
|
@@ -91,6 +96,9 @@ class SessionManager {
|
|
|
91
96
|
get context() {
|
|
92
97
|
return this.#context;
|
|
93
98
|
}
|
|
99
|
+
get crypto() {
|
|
100
|
+
return this.#context.fabrics.crypto;
|
|
101
|
+
}
|
|
94
102
|
/**
|
|
95
103
|
* Active secure sessions.
|
|
96
104
|
*/
|
|
@@ -156,6 +164,7 @@ class SessionManager {
|
|
|
156
164
|
}
|
|
157
165
|
while (true) {
|
|
158
166
|
const session = new import_InsecureSession.InsecureSession({
|
|
167
|
+
crypto: this.#context.fabrics.crypto,
|
|
159
168
|
manager: this,
|
|
160
169
|
messageCounter: this.#globalUnencryptedMessageCounter,
|
|
161
170
|
initiatorNodeId,
|
|
@@ -183,6 +192,7 @@ class SessionManager {
|
|
|
183
192
|
caseAuthenticatedTags
|
|
184
193
|
} = args;
|
|
185
194
|
const session = await import_NodeSession.NodeSession.create({
|
|
195
|
+
crypto: this.crypto,
|
|
186
196
|
manager: this,
|
|
187
197
|
id: sessionId,
|
|
188
198
|
fabric,
|
|
@@ -538,7 +548,7 @@ class SessionManager {
|
|
|
538
548
|
*/
|
|
539
549
|
compressIdRange(upperBound) {
|
|
540
550
|
this.#idUpperBound = upperBound;
|
|
541
|
-
this.#nextSessionId =
|
|
551
|
+
this.#nextSessionId = this.#context.fabrics.crypto.randomUint32 % upperBound;
|
|
542
552
|
if (this.#nextSessionId === 0) this.#nextSessionId++;
|
|
543
553
|
}
|
|
544
554
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/session/SessionManager.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["import_general", "fabric"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseClient.d.ts","sourceRoot":"","sources":["../../../../src/session/case/CaseClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAsB,MAAM,QAAQ,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAkBpE,qBAAa,UAAU;;gBAGP,QAAQ,EAAE,cAAc;IAI9B,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,MAAM;;;;
|
|
1
|
+
{"version":3,"file":"CaseClient.d.ts","sourceRoot":"","sources":["../../../../src/session/case/CaseClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAsB,MAAM,QAAQ,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAkBpE,qBAAa,UAAU;;gBAGP,QAAQ,EAAE,cAAc;IAI9B,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,MAAM;;;;CAgO9G"}
|
|
@@ -50,21 +50,22 @@ class CaseClient {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
async #doPair(messenger, exchange, fabric, peerNodeId) {
|
|
53
|
-
const
|
|
53
|
+
const { crypto } = fabric;
|
|
54
|
+
const initiatorRandom = crypto.randomBytes(32);
|
|
54
55
|
const initiatorSessionId = await this.#sessions.getNextAvailableSessionId();
|
|
55
56
|
const { operationalIdentityProtectionKey, operationalCert: localNoc, intermediateCACert: localIcac } = fabric;
|
|
56
|
-
const localKey = await
|
|
57
|
+
const localKey = await crypto.createKeyPair();
|
|
57
58
|
let sigma1Bytes;
|
|
58
59
|
let resumed = false;
|
|
59
60
|
let resumptionRecord = this.#sessions.findResumptionRecordByAddress(fabric.addressOf(peerNodeId));
|
|
60
61
|
if (resumptionRecord !== void 0) {
|
|
61
62
|
const { sharedSecret, resumptionId } = resumptionRecord;
|
|
62
|
-
const resumeKey = await
|
|
63
|
+
const resumeKey = await crypto.createHkdfKey(
|
|
63
64
|
sharedSecret,
|
|
64
65
|
import_general.Bytes.concat(initiatorRandom, resumptionId),
|
|
65
66
|
import_CaseMessages.KDFSR1_KEY_INFO
|
|
66
67
|
);
|
|
67
|
-
const initiatorResumeMic =
|
|
68
|
+
const initiatorResumeMic = crypto.encrypt(resumeKey, new Uint8Array(0), import_CaseMessages.RESUME1_MIC_NONCE);
|
|
68
69
|
sigma1Bytes = await messenger.sendSigma1({
|
|
69
70
|
initiatorSessionId,
|
|
70
71
|
destinationId: await fabric.currentDestinationIdFor(peerNodeId, initiatorRandom),
|
|
@@ -99,8 +100,8 @@ class CaseClient {
|
|
|
99
100
|
...resumptionSessionParams ?? {}
|
|
100
101
|
};
|
|
101
102
|
const resumeSalt = import_general.Bytes.concat(initiatorRandom, resumptionId);
|
|
102
|
-
const resumeKey = await
|
|
103
|
-
|
|
103
|
+
const resumeKey = await crypto.createHkdfKey(sharedSecret, resumeSalt, import_CaseMessages.KDFSR2_KEY_INFO);
|
|
104
|
+
crypto.decrypt(resumeKey, resumeMic, import_CaseMessages.RESUME2_MIC_NONCE);
|
|
104
105
|
const secureSessionSalt = import_general.Bytes.concat(initiatorRandom, resumptionRecord.resumptionId);
|
|
105
106
|
secureSession = await this.#sessions.createSecureSession({
|
|
106
107
|
sessionId: initiatorSessionId,
|
|
@@ -134,15 +135,15 @@ class CaseClient {
|
|
|
134
135
|
...exchange.session.parameters,
|
|
135
136
|
...responderSessionParams ?? {}
|
|
136
137
|
};
|
|
137
|
-
const sharedSecret = await
|
|
138
|
+
const sharedSecret = await crypto.generateDhSecret(localKey, (0, import_general.PublicKey)(peerKey));
|
|
138
139
|
const sigma2Salt = import_general.Bytes.concat(
|
|
139
140
|
operationalIdentityProtectionKey,
|
|
140
141
|
responderRandom,
|
|
141
142
|
peerKey,
|
|
142
|
-
await
|
|
143
|
+
await crypto.computeSha256(sigma1Bytes)
|
|
143
144
|
);
|
|
144
|
-
const sigma2Key = await
|
|
145
|
-
const peerEncryptedData =
|
|
145
|
+
const sigma2Key = await crypto.createHkdfKey(sharedSecret, sigma2Salt, import_CaseMessages.KDFSR2_INFO);
|
|
146
|
+
const peerEncryptedData = crypto.decrypt(sigma2Key, peerEncrypted, import_CaseMessages.TBE_DATA2_NONCE);
|
|
146
147
|
const {
|
|
147
148
|
responderNoc: peerNoc,
|
|
148
149
|
responderIcac: peerIcac,
|
|
@@ -159,7 +160,7 @@ class CaseClient {
|
|
|
159
160
|
ellipticCurvePublicKey: peerPublicKey,
|
|
160
161
|
subject: { fabricId: peerFabricIdNOCert, nodeId: peerNodeIdNOCert }
|
|
161
162
|
} = import_CertificateManager.TlvOperationalCertificate.decode(peerNoc);
|
|
162
|
-
await
|
|
163
|
+
await crypto.verifyEcdsa((0, import_general.PublicKey)(peerPublicKey), peerSignatureData, peerSignature);
|
|
163
164
|
if (peerNodeIdNOCert !== peerNodeId) {
|
|
164
165
|
throw new import_general.UnexpectedDataError(
|
|
165
166
|
`The node ID in the peer certificate ${peerNodeIdNOCert} doesn't match the expected peer node ID ${peerNodeId}`
|
|
@@ -183,9 +184,9 @@ class CaseClient {
|
|
|
183
184
|
await fabric.verifyCredentials(peerNoc, peerIcac);
|
|
184
185
|
const sigma3Salt = import_general.Bytes.concat(
|
|
185
186
|
operationalIdentityProtectionKey,
|
|
186
|
-
await
|
|
187
|
+
await crypto.computeSha256([sigma1Bytes, sigma2Bytes])
|
|
187
188
|
);
|
|
188
|
-
const sigma3Key = await
|
|
189
|
+
const sigma3Key = await crypto.createHkdfKey(sharedSecret, sigma3Salt, import_CaseMessages.KDFSR3_INFO);
|
|
189
190
|
const signatureData = import_CaseMessages.TlvSignedData.encode({
|
|
190
191
|
responderNoc: localNoc,
|
|
191
192
|
responderIcac: localIcac,
|
|
@@ -198,13 +199,13 @@ class CaseClient {
|
|
|
198
199
|
responderIcac: localIcac,
|
|
199
200
|
signature
|
|
200
201
|
});
|
|
201
|
-
const encrypted =
|
|
202
|
+
const encrypted = crypto.encrypt(sigma3Key, encryptedData, import_CaseMessages.TBE_DATA3_NONCE);
|
|
202
203
|
const sigma3Bytes = await messenger.sendSigma3({ encrypted });
|
|
203
204
|
await messenger.waitForSuccess("Sigma3-Success");
|
|
204
205
|
const { caseAuthenticatedTags } = resumptionRecord ?? {};
|
|
205
206
|
const secureSessionSalt = import_general.Bytes.concat(
|
|
206
207
|
operationalIdentityProtectionKey,
|
|
207
|
-
await
|
|
208
|
+
await crypto.computeSha256([sigma1Bytes, sigma2Bytes, sigma3Bytes])
|
|
208
209
|
);
|
|
209
210
|
secureSession = await this.#sessions.createSecureSession({
|
|
210
211
|
sessionId: initiatorSessionId,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/session/case/CaseClient.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["fabric"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseServer.d.ts","sourceRoot":"","sources":["../../../../src/session/case/CaseServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAoB,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG9E,OAAO,EAAE,aAAa,EAAuB,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAoBpE,qBAAa,UAAW,YAAW,eAAe;;IAC9C,QAAQ,CAAC,EAAE,KAA8B;IACzC,QAAQ,CAAC,qBAAqB,SAAS;gBAK3B,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa;IAKtD,aAAa,CAAC,QAAQ,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"CaseServer.d.ts","sourceRoot":"","sources":["../../../../src/session/case/CaseServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAoB,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG9E,OAAO,EAAE,aAAa,EAAuB,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAoBpE,qBAAa,UAAW,YAAW,eAAe;;IAC9C,QAAQ,CAAC,EAAE,KAA8B;IACzC,QAAQ,CAAC,qBAAqB,SAAS;gBAK3B,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa;IAKtD,aAAa,CAAC,QAAQ,EAAE,eAAe;IA8PvC,KAAK;CAGd"}
|
|
@@ -62,7 +62,7 @@ class CaseServer {
|
|
|
62
62
|
logger.info(`Received pairing request from ${messenger.getChannelName()}`);
|
|
63
63
|
const { sigma1Bytes, sigma1 } = await messenger.readSigma1();
|
|
64
64
|
const resumptionRecord = sigma1.resumptionId !== void 0 && sigma1.initiatorResumeMic !== void 0 ? this.#sessions.findResumptionRecordById(sigma1.resumptionId) : void 0;
|
|
65
|
-
const context = new Sigma1Context(messenger, sigma1Bytes, sigma1, resumptionRecord);
|
|
65
|
+
const context = new Sigma1Context(this.#fabrics.crypto, messenger, sigma1Bytes, sigma1, resumptionRecord);
|
|
66
66
|
if (await this.#resume(context)) {
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
@@ -81,13 +81,14 @@ class CaseServer {
|
|
|
81
81
|
return false;
|
|
82
82
|
}
|
|
83
83
|
const { sharedSecret, fabric, peerNodeId, caseAuthenticatedTags } = cx.resumptionRecord;
|
|
84
|
-
const
|
|
84
|
+
const { crypto } = this.#fabrics;
|
|
85
|
+
const peerResumeKey = await crypto.createHkdfKey(
|
|
85
86
|
sharedSecret,
|
|
86
87
|
import_general.Bytes.concat(cx.peerRandom, cx.peerResumptionId),
|
|
87
88
|
import_CaseMessages.KDFSR1_KEY_INFO
|
|
88
89
|
);
|
|
89
90
|
try {
|
|
90
|
-
|
|
91
|
+
crypto.decrypt(peerResumeKey, cx.peerResumeMic, import_CaseMessages.RESUME1_MIC_NONCE);
|
|
91
92
|
} catch (e) {
|
|
92
93
|
import_general.CryptoDecryptError.accept(e);
|
|
93
94
|
cx.peerResumptionId = cx.peerResumeMic = void 0;
|
|
@@ -108,8 +109,8 @@ class CaseServer {
|
|
|
108
109
|
caseAuthenticatedTags
|
|
109
110
|
});
|
|
110
111
|
const resumeSalt = import_general.Bytes.concat(cx.peerRandom, cx.localResumptionId);
|
|
111
|
-
const resumeKey = await
|
|
112
|
-
const resumeMic =
|
|
112
|
+
const resumeKey = await crypto.createHkdfKey(sharedSecret, resumeSalt, import_CaseMessages.KDFSR2_KEY_INFO);
|
|
113
|
+
const resumeMic = crypto.encrypt(resumeKey, new Uint8Array(0), import_CaseMessages.RESUME2_MIC_NONCE);
|
|
113
114
|
try {
|
|
114
115
|
await cx.messenger.sendSigma2Resume({
|
|
115
116
|
resumptionId: cx.localResumptionId,
|
|
@@ -143,19 +144,20 @@ class CaseServer {
|
|
|
143
144
|
) {
|
|
144
145
|
return false;
|
|
145
146
|
}
|
|
146
|
-
const
|
|
147
|
+
const { crypto } = this.#fabrics;
|
|
148
|
+
const responderRandom = crypto.randomBytes(32);
|
|
147
149
|
const fabric = await this.#fabrics.findFabricFromDestinationId(cx.destinationId, cx.peerRandom);
|
|
148
150
|
const { operationalCert: nodeOpCert, intermediateCACert, operationalIdentityProtectionKey } = fabric;
|
|
149
|
-
const key = await
|
|
151
|
+
const key = await crypto.createKeyPair();
|
|
150
152
|
const responderEcdhPublicKey = key.publicBits;
|
|
151
|
-
const sharedSecret = await
|
|
153
|
+
const sharedSecret = await crypto.generateDhSecret(key, (0, import_general.PublicKey)(cx.peerEcdhPublicKey));
|
|
152
154
|
const sigma2Salt = import_general.Bytes.concat(
|
|
153
155
|
operationalIdentityProtectionKey,
|
|
154
156
|
responderRandom,
|
|
155
157
|
responderEcdhPublicKey,
|
|
156
|
-
await
|
|
158
|
+
await crypto.computeSha256(cx.bytes)
|
|
157
159
|
);
|
|
158
|
-
const sigma2Key = await
|
|
160
|
+
const sigma2Key = await crypto.createHkdfKey(sharedSecret, sigma2Salt, import_CaseMessages.KDFSR2_INFO);
|
|
159
161
|
const signatureData = import_CaseMessages.TlvSignedData.encode({
|
|
160
162
|
responderNoc: nodeOpCert,
|
|
161
163
|
responderIcac: intermediateCACert,
|
|
@@ -169,7 +171,7 @@ class CaseServer {
|
|
|
169
171
|
signature,
|
|
170
172
|
resumptionId: cx.localResumptionId
|
|
171
173
|
});
|
|
172
|
-
const encrypted =
|
|
174
|
+
const encrypted = crypto.encrypt(sigma2Key, encryptedData, import_CaseMessages.TBE_DATA2_NONCE);
|
|
173
175
|
const responderSessionId = await this.#sessions.getNextAvailableSessionId();
|
|
174
176
|
const sigma2Bytes = await cx.messenger.sendSigma2({
|
|
175
177
|
responderRandom,
|
|
@@ -185,10 +187,10 @@ class CaseServer {
|
|
|
185
187
|
} = await cx.messenger.readSigma3();
|
|
186
188
|
const sigma3Salt = import_general.Bytes.concat(
|
|
187
189
|
operationalIdentityProtectionKey,
|
|
188
|
-
await
|
|
190
|
+
await crypto.computeSha256([cx.bytes, sigma2Bytes])
|
|
189
191
|
);
|
|
190
|
-
const sigma3Key = await
|
|
191
|
-
const peerDecryptedData =
|
|
192
|
+
const sigma3Key = await crypto.createHkdfKey(sharedSecret, sigma3Salt, import_CaseMessages.KDFSR3_INFO);
|
|
193
|
+
const peerDecryptedData = crypto.decrypt(sigma3Key, peerEncrypted, import_CaseMessages.TBE_DATA3_NONCE);
|
|
192
194
|
const {
|
|
193
195
|
responderNoc: peerNewOpCert,
|
|
194
196
|
responderIcac: peerIntermediateCACert,
|
|
@@ -208,10 +210,10 @@ class CaseServer {
|
|
|
208
210
|
if (fabric.fabricId !== peerFabricId) {
|
|
209
211
|
throw new import_general.UnexpectedDataError(`Fabric ID mismatch: ${fabric.fabricId} !== ${peerFabricId}`);
|
|
210
212
|
}
|
|
211
|
-
await
|
|
213
|
+
await crypto.verifyEcdsa((0, import_general.PublicKey)(peerPublicKey), peerSignatureData, peerSignature);
|
|
212
214
|
const secureSessionSalt = import_general.Bytes.concat(
|
|
213
215
|
operationalIdentityProtectionKey,
|
|
214
|
-
await
|
|
216
|
+
await crypto.computeSha256([cx.bytes, sigma2Bytes, sigma3Bytes])
|
|
215
217
|
);
|
|
216
218
|
const secureSession = await this.#sessions.createSecureSession({
|
|
217
219
|
sessionId: responderSessionId,
|
|
@@ -249,6 +251,7 @@ class CaseServer {
|
|
|
249
251
|
}
|
|
250
252
|
}
|
|
251
253
|
class Sigma1Context {
|
|
254
|
+
crypto;
|
|
252
255
|
messenger;
|
|
253
256
|
bytes;
|
|
254
257
|
peerSessionId;
|
|
@@ -260,7 +263,8 @@ class Sigma1Context {
|
|
|
260
263
|
peerSessionParams;
|
|
261
264
|
resumptionRecord;
|
|
262
265
|
#localResumptionId;
|
|
263
|
-
constructor(messenger, bytes, sigma1, resumptionRecord) {
|
|
266
|
+
constructor(crypto, messenger, bytes, sigma1, resumptionRecord) {
|
|
267
|
+
this.crypto = crypto;
|
|
264
268
|
this.messenger = messenger;
|
|
265
269
|
this.bytes = bytes;
|
|
266
270
|
this.peerSessionId = sigma1.initiatorSessionId;
|
|
@@ -273,7 +277,7 @@ class Sigma1Context {
|
|
|
273
277
|
this.resumptionRecord = resumptionRecord;
|
|
274
278
|
}
|
|
275
279
|
get localResumptionId() {
|
|
276
|
-
return this.#localResumptionId ??=
|
|
280
|
+
return this.#localResumptionId ??= this.crypto.randomBytes(16);
|
|
277
281
|
}
|
|
278
282
|
}
|
|
279
283
|
//# sourceMappingURL=CaseServer.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/session/case/CaseServer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAA0F;AAG1F,mBAAuF;AACvF,gCAA0C;AAC1C,2BAAmD;AAGnD,oCAA2C;AAC3C,0BAaO;AACP,2BAAoC;AA7BpC;AAAA;AAAA;AAAA;AAAA;AA+BA,MAAM,SAAS,sBAAO,IAAI,YAAY;AAE/B,MAAM,WAAsC;AAAA,EACtC,KAAK;AAAA,EACL,wBAAwB;AAAA,EAEjC;AAAA,EACA;AAAA,EAEA,YAAY,UAA0B,SAAwB;AAC1D,SAAK,YAAY;AACjB,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,cAAc,UAA2B;AAC3C,UAAM,YAAY,IAAI,yCAAoB,QAAQ;AAClD,QAAI;AACA,YAAM,KAAK,cAAc,SAAS;AAAA,IACtC,SAAS,OAAO;AACZ,aAAO,MAAM,8CAA8C,KAAK;AAEhE,UAAI,iBAAiB,0CAAqB;AACtC,cAAM,UAAU,UAAU,gCAAmB,kBAAkB;AAAA,MACnE,WAES,EAAE,iBAAiB,2DAA6B;AACrD,cAAM,UAAU,UAAU,gCAAmB,YAAY;AAAA,MAC7D;AAAA,IACJ,UAAE;AAEE,YAAM,SAAS,QAAQ,QAAQ;AAAA,IACnC;AAAA,EACJ;AAAA,EAEA,MAAM,cAAc,WAAgC;AAChD,WAAO,KAAK,iCAAiC,UAAU,eAAe,CAAC,EAAE;AAGzE,UAAM,EAAE,aAAa,OAAO,IAAI,MAAM,UAAU,WAAW;AAC3D,UAAM,mBACF,OAAO,iBAAiB,UAAa,OAAO,uBAAuB,SAC7D,KAAK,UAAU,yBAAyB,OAAO,YAAY,IAC3D;AAEV,UAAM,UAAU,IAAI,cAAc,WAAW,aAAa,QAAQ,gBAAgB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { PbkdfParameters } from "#general";
|
|
6
|
+
import { Crypto, PbkdfParameters } from "#general";
|
|
7
7
|
import { SessionManager } from "#session/SessionManager.js";
|
|
8
8
|
import { MessageExchange } from "../../protocol/MessageExchange.js";
|
|
9
9
|
import { SessionParameters } from "../Session.js";
|
|
10
10
|
export declare class PaseClient {
|
|
11
11
|
#private;
|
|
12
12
|
constructor(sessions: SessionManager);
|
|
13
|
-
static generatePakePasscodeVerifier(setupPinCode: number, pbkdfParameters: PbkdfParameters): Promise<Uint8Array<ArrayBufferLike>>;
|
|
14
|
-
static generateRandomPasscode(): number;
|
|
15
|
-
static generateRandomDiscriminator(): number;
|
|
13
|
+
static generatePakePasscodeVerifier(crypto: Crypto, setupPinCode: number, pbkdfParameters: PbkdfParameters): Promise<Uint8Array<ArrayBufferLike>>;
|
|
14
|
+
static generateRandomPasscode(crypto: Crypto): number;
|
|
15
|
+
static generateRandomDiscriminator(crypto: Crypto): number;
|
|
16
16
|
pair(sessionParameters: SessionParameters, exchange: MessageExchange, setupPin: number): Promise<import("../NodeSession.js").NodeSession>;
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=PaseClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaseClient.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"PaseClient.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,MAAM,EAAc,eAAe,EAAgC,MAAM,UAAU,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOlD,qBAAa,UAAU;;gBAGP,QAAQ,EAAE,cAAc;WAIvB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;IAKhH,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM;IAS5C,MAAM,CAAC,2BAA2B,CAAC,MAAM,EAAE,MAAM;IAI3C,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM;CA+E/F"}
|
|
@@ -36,24 +36,25 @@ class PaseClient {
|
|
|
36
36
|
constructor(sessions) {
|
|
37
37
|
this.#sessions = sessions;
|
|
38
38
|
}
|
|
39
|
-
static async generatePakePasscodeVerifier(setupPinCode, pbkdfParameters) {
|
|
40
|
-
const { w0, L } = await import_general.Spake2p.computeW0L(pbkdfParameters, setupPinCode);
|
|
39
|
+
static async generatePakePasscodeVerifier(crypto, setupPinCode, pbkdfParameters) {
|
|
40
|
+
const { w0, L } = await import_general.Spake2p.computeW0L(crypto, pbkdfParameters, setupPinCode);
|
|
41
41
|
return import_general.Bytes.concat(numberToBytesBE(w0, 32), L);
|
|
42
42
|
}
|
|
43
|
-
static generateRandomPasscode() {
|
|
43
|
+
static generateRandomPasscode(crypto) {
|
|
44
44
|
let passcode;
|
|
45
|
-
passcode =
|
|
45
|
+
passcode = crypto.randomUint32 % 99999998 + 1;
|
|
46
46
|
if (import_types.CommissioningOptions.FORBIDDEN_PASSCODES.includes(passcode)) {
|
|
47
47
|
passcode += 1;
|
|
48
48
|
}
|
|
49
49
|
return passcode;
|
|
50
50
|
}
|
|
51
|
-
static generateRandomDiscriminator() {
|
|
52
|
-
return
|
|
51
|
+
static generateRandomDiscriminator(crypto) {
|
|
52
|
+
return crypto.randomUint16 % 4096;
|
|
53
53
|
}
|
|
54
54
|
async pair(sessionParameters, exchange, setupPin) {
|
|
55
55
|
const messenger = new import_PaseMessenger.PaseClientMessenger(exchange);
|
|
56
|
-
const
|
|
56
|
+
const { crypto } = this.#sessions;
|
|
57
|
+
const initiatorRandom = crypto.randomBytes(32);
|
|
57
58
|
const initiatorSessionId = await this.#sessions.getNextAvailableSessionId();
|
|
58
59
|
const tcpSupported = sessionParameters.supportedTransports?.tcpClient || sessionParameters.supportedTransports?.tcpServer || false;
|
|
59
60
|
const requestPayload = await messenger.sendPbkdfParamRequest({
|
|
@@ -80,9 +81,10 @@ class PaseClient {
|
|
|
80
81
|
...exchange.session.parameters,
|
|
81
82
|
...responderSessionParams ?? {}
|
|
82
83
|
};
|
|
83
|
-
const { w0, w1 } = await import_general.Spake2p.computeW0W1(pbkdfParameters, setupPin);
|
|
84
|
+
const { w0, w1 } = await import_general.Spake2p.computeW0W1(crypto, pbkdfParameters, setupPin);
|
|
84
85
|
const spake2p = import_general.Spake2p.create(
|
|
85
|
-
|
|
86
|
+
crypto,
|
|
87
|
+
await crypto.computeSha256([import_PaseMessenger.SPAKE_CONTEXT, requestPayload, responsePayload]),
|
|
86
88
|
w0
|
|
87
89
|
);
|
|
88
90
|
const X = spake2p.computeX();
|