@matter/protocol 0.14.1-alpha.0-20250607-a93593303 → 0.15.0-alpha.0-20250612-ddd428561
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.js +2 -2
- package/dist/cjs/certificate/AttestationCertificateManager.js.map +1 -1
- package/dist/cjs/certificate/CertificateAuthority.d.ts +2 -2
- package/dist/cjs/certificate/CertificateAuthority.d.ts.map +1 -1
- package/dist/cjs/certificate/CertificateAuthority.js +5 -5
- package/dist/cjs/certificate/CertificateAuthority.js.map +1 -1
- package/dist/cjs/certificate/CertificateManager.d.ts +1 -1
- package/dist/cjs/certificate/CertificateManager.d.ts.map +1 -1
- package/dist/cjs/certificate/CertificateManager.js +21 -10
- package/dist/cjs/certificate/CertificateManager.js.map +1 -1
- package/dist/cjs/certificate/CertificationDeclarationManager.d.ts +1 -1
- package/dist/cjs/certificate/DeviceCertification.d.ts +1 -1
- package/dist/cjs/certificate/DeviceCertification.d.ts.map +1 -1
- package/dist/cjs/certificate/DeviceCertification.js +5 -3
- package/dist/cjs/certificate/DeviceCertification.js.map +1 -1
- package/dist/cjs/codec/BtpCodec.d.ts +1 -1
- package/dist/cjs/codec/MessageCodec.d.ts +1 -1
- package/dist/cjs/fabric/Fabric.d.ts +8 -6
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/fabric/Fabric.js +22 -15
- package/dist/cjs/fabric/Fabric.js.map +1 -1
- package/dist/cjs/fabric/FabricAuthority.d.ts +4 -0
- package/dist/cjs/fabric/FabricAuthority.d.ts.map +1 -1
- package/dist/cjs/fabric/FabricAuthority.js +6 -0
- package/dist/cjs/fabric/FabricAuthority.js.map +1 -1
- package/dist/cjs/fabric/FabricManager.d.ts.map +1 -1
- package/dist/cjs/fabric/FabricManager.js +9 -2
- package/dist/cjs/fabric/FabricManager.js.map +1 -1
- package/dist/cjs/fabric/TestFabric.d.ts +30 -0
- package/dist/cjs/fabric/TestFabric.d.ts.map +1 -0
- package/dist/cjs/fabric/TestFabric.js +70 -0
- package/dist/cjs/fabric/TestFabric.js.map +6 -0
- package/dist/cjs/fabric/index.d.ts +1 -0
- package/dist/cjs/fabric/index.d.ts.map +1 -1
- package/dist/cjs/fabric/index.js +1 -0
- package/dist/cjs/fabric/index.js.map +1 -1
- package/dist/cjs/groups/{FabricGroupsManager.d.ts → FabricGroups.d.ts} +2 -2
- package/dist/cjs/groups/FabricGroups.d.ts.map +1 -0
- package/dist/cjs/groups/{FabricGroupsManager.js → FabricGroups.js} +9 -9
- package/dist/cjs/groups/FabricGroups.js.map +6 -0
- package/dist/cjs/groups/KeySets.js +1 -1
- package/dist/cjs/groups/KeySets.js.map +1 -1
- package/dist/cjs/groups/index.d.ts +1 -1
- package/dist/cjs/groups/index.d.ts.map +1 -1
- package/dist/cjs/groups/index.js +1 -1
- package/dist/cjs/groups/index.js.map +1 -1
- package/dist/cjs/interaction/{AccessControlManager.d.ts → FabricAccessControl.d.ts} +12 -7
- package/dist/cjs/interaction/FabricAccessControl.d.ts.map +1 -0
- package/dist/cjs/interaction/{AccessControlManager.js → FabricAccessControl.js} +46 -21
- package/dist/cjs/interaction/FabricAccessControl.js.map +6 -0
- package/dist/cjs/interaction/index.d.ts +1 -1
- package/dist/cjs/interaction/index.d.ts.map +1 -1
- package/dist/cjs/interaction/index.js +1 -1
- package/dist/cjs/interaction/index.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.js +2 -4
- package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +6 -0
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js +13 -0
- package/dist/cjs/protocol/MessageExchange.js.map +1 -1
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.d.ts +1 -1
- package/dist/cjs/session/NodeSession.js +1 -1
- package/dist/cjs/session/Session.d.ts +1 -1
- package/dist/cjs/session/SessionManager.d.ts.map +1 -1
- package/dist/cjs/session/SessionManager.js +1 -0
- 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 +34 -30
- package/dist/cjs/session/case/CaseClient.js.map +1 -1
- package/dist/cjs/session/case/CaseMessages.d.ts +8 -8
- package/dist/cjs/session/case/CaseMessages.js +8 -8
- package/dist/cjs/session/case/CaseMessages.js.map +1 -1
- package/dist/cjs/session/case/CaseServer.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseServer.js +26 -23
- package/dist/cjs/session/case/CaseServer.js.map +1 -1
- package/dist/cjs/session/pase/PaseClient.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseClient.js +4 -1
- 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 +4 -1
- package/dist/cjs/session/pase/PaseServer.js.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 +2 -2
- package/dist/esm/certificate/CertificateAuthority.d.ts.map +1 -1
- package/dist/esm/certificate/CertificateAuthority.js +5 -5
- package/dist/esm/certificate/CertificateAuthority.js.map +1 -1
- package/dist/esm/certificate/CertificateManager.d.ts +1 -1
- package/dist/esm/certificate/CertificateManager.d.ts.map +1 -1
- package/dist/esm/certificate/CertificateManager.js +22 -11
- package/dist/esm/certificate/CertificateManager.js.map +1 -1
- package/dist/esm/certificate/CertificationDeclarationManager.d.ts +1 -1
- package/dist/esm/certificate/DeviceCertification.d.ts +1 -1
- package/dist/esm/certificate/DeviceCertification.d.ts.map +1 -1
- package/dist/esm/certificate/DeviceCertification.js +5 -3
- package/dist/esm/certificate/DeviceCertification.js.map +1 -1
- package/dist/esm/codec/BtpCodec.d.ts +1 -1
- package/dist/esm/codec/MessageCodec.d.ts +1 -1
- package/dist/esm/fabric/Fabric.d.ts +8 -6
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/fabric/Fabric.js +22 -14
- package/dist/esm/fabric/Fabric.js.map +1 -1
- package/dist/esm/fabric/FabricAuthority.d.ts +4 -0
- package/dist/esm/fabric/FabricAuthority.d.ts.map +1 -1
- package/dist/esm/fabric/FabricAuthority.js +6 -0
- package/dist/esm/fabric/FabricAuthority.js.map +1 -1
- package/dist/esm/fabric/FabricManager.d.ts.map +1 -1
- package/dist/esm/fabric/FabricManager.js +9 -2
- package/dist/esm/fabric/FabricManager.js.map +1 -1
- package/dist/esm/fabric/TestFabric.d.ts +30 -0
- package/dist/esm/fabric/TestFabric.d.ts.map +1 -0
- package/dist/esm/fabric/TestFabric.js +50 -0
- package/dist/esm/fabric/TestFabric.js.map +6 -0
- package/dist/esm/fabric/index.d.ts +1 -0
- package/dist/esm/fabric/index.d.ts.map +1 -1
- package/dist/esm/fabric/index.js +1 -0
- package/dist/esm/fabric/index.js.map +1 -1
- package/dist/esm/groups/{FabricGroupsManager.d.ts → FabricGroups.d.ts} +2 -2
- package/dist/esm/groups/FabricGroups.d.ts.map +1 -0
- package/dist/esm/groups/{FabricGroupsManager.js → FabricGroups.js} +6 -6
- package/dist/esm/groups/FabricGroups.js.map +6 -0
- package/dist/esm/groups/KeySets.js +1 -1
- package/dist/esm/groups/KeySets.js.map +1 -1
- package/dist/esm/groups/index.d.ts +1 -1
- package/dist/esm/groups/index.d.ts.map +1 -1
- package/dist/esm/groups/index.js +1 -1
- package/dist/esm/interaction/{AccessControlManager.d.ts → FabricAccessControl.d.ts} +12 -7
- package/dist/esm/interaction/FabricAccessControl.d.ts.map +1 -0
- package/dist/esm/interaction/{AccessControlManager.js → FabricAccessControl.js} +44 -19
- package/dist/esm/interaction/FabricAccessControl.js.map +6 -0
- package/dist/esm/interaction/index.d.ts +1 -1
- package/dist/esm/interaction/index.d.ts.map +1 -1
- package/dist/esm/interaction/index.js +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.js +2 -4
- package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.js +1 -1
- package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +6 -0
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js +13 -0
- package/dist/esm/protocol/MessageExchange.js.map +1 -1
- package/dist/esm/securechannel/SecureChannelStatusMessageSchema.d.ts +1 -1
- package/dist/esm/session/NodeSession.js +1 -1
- package/dist/esm/session/Session.d.ts +1 -1
- package/dist/esm/session/SessionManager.d.ts.map +1 -1
- package/dist/esm/session/SessionManager.js +1 -0
- 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 +34 -30
- package/dist/esm/session/case/CaseClient.js.map +1 -1
- package/dist/esm/session/case/CaseMessages.d.ts +8 -8
- package/dist/esm/session/case/CaseMessages.js +8 -8
- package/dist/esm/session/case/CaseMessages.js.map +1 -1
- package/dist/esm/session/case/CaseServer.d.ts.map +1 -1
- package/dist/esm/session/case/CaseServer.js +26 -23
- package/dist/esm/session/case/CaseServer.js.map +1 -1
- package/dist/esm/session/pase/PaseClient.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseClient.js +4 -1
- 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 +4 -1
- package/dist/esm/session/pase/PaseServer.js.map +1 -1
- package/package.json +6 -6
- package/src/certificate/AttestationCertificateManager.ts +2 -2
- package/src/certificate/CertificateAuthority.ts +7 -7
- package/src/certificate/CertificateManager.ts +22 -11
- package/src/certificate/DeviceCertification.ts +5 -3
- package/src/fabric/Fabric.ts +24 -15
- package/src/fabric/FabricAuthority.ts +7 -0
- package/src/fabric/FabricManager.ts +9 -2
- package/src/fabric/TestFabric.ts +73 -0
- package/src/fabric/index.ts +1 -0
- package/src/groups/{FabricGroupsManager.ts → FabricGroups.ts} +4 -4
- package/src/groups/KeySets.ts +1 -1
- package/src/groups/index.ts +1 -1
- package/src/interaction/{AccessControlManager.ts → FabricAccessControl.ts} +61 -25
- package/src/interaction/index.ts +1 -1
- package/src/peer/ControllerCommissioningFlow.ts +2 -4
- package/src/protocol/DeviceCommissioner.ts +1 -1
- package/src/protocol/MessageExchange.ts +14 -0
- package/src/session/NodeSession.ts +1 -1
- package/src/session/SessionManager.ts +1 -0
- package/src/session/case/CaseClient.ts +34 -30
- package/src/session/case/CaseMessages.ts +8 -8
- package/src/session/case/CaseServer.ts +27 -23
- package/src/session/pase/PaseClient.ts +4 -1
- package/src/session/pase/PaseServer.ts +4 -1
- package/dist/cjs/groups/FabricGroupsManager.d.ts.map +0 -1
- package/dist/cjs/groups/FabricGroupsManager.js.map +0 -6
- package/dist/cjs/interaction/AccessControlManager.d.ts.map +0 -1
- package/dist/cjs/interaction/AccessControlManager.js.map +0 -6
- package/dist/esm/groups/FabricGroupsManager.d.ts.map +0 -1
- package/dist/esm/groups/FabricGroupsManager.js.map +0 -6
- package/dist/esm/interaction/AccessControlManager.d.ts.map +0 -1
- package/dist/esm/interaction/AccessControlManager.js.map +0 -6
|
@@ -60,7 +60,7 @@ class AttestationCertificateManager {
|
|
|
60
60
|
}
|
|
61
61
|
static async create(vendorId) {
|
|
62
62
|
const key = await import_general.Crypto.createKeyPair();
|
|
63
|
-
const identifier = await import_general.Crypto.
|
|
63
|
+
const identifier = await import_general.Crypto.computeSha256(key.publicKey);
|
|
64
64
|
return new AttestationCertificateManager(vendorId, key, identifier.slice(0, 20));
|
|
65
65
|
}
|
|
66
66
|
getPAICert() {
|
|
@@ -169,7 +169,7 @@ class AttestationCertificateManager {
|
|
|
169
169
|
keyUsage: {
|
|
170
170
|
digitalSignature: true
|
|
171
171
|
},
|
|
172
|
-
subjectKeyIdentifier: (await import_general.Crypto.
|
|
172
|
+
subjectKeyIdentifier: (await import_general.Crypto.computeSha256(publicKey)).slice(0, 20),
|
|
173
173
|
authorityKeyIdentifier: this.#paiKeyIdentifier
|
|
174
174
|
}
|
|
175
175
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/certificate/AttestationCertificateManager.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAuD;AAEvD,gCAAmD;AACnD,+BAIO;AAbP;AAAA;AAAA;AAAA;AAAA;AAeA,SAAS,iBAAiB,UAAoB,WAAoB;AAC9D,SAAO,yBAAyB,SAAS,SAAS,EAAE,EAAE,YAAY,CAAC,IAC/D,cAAc,SAAY,WAAW,KAAK,UAAU,SAAS,EAAE,EAAE,YAAY,CAAC,EAClF;AACJ;AAEA,SAAS,iBAAiB,UAAoB,WAAmB;AAC7D,SAAO,yBAAyB,SAAS,SAAS,EAAE,EAAE,YAAY,CAAC,MAAM,UAAU,SAAS,EAAE,EAAE,YAAY,CAAC;AACjH;AAEA,SAAS,mBAAmB;AAExB,SAAO;AACX;AAEO,MAAM,8BAA8B;AAAA,EAC/B,YAAY,OAAO,CAAC;AAAA;AAAA;AAAA,EAInB,kBAAc,2BAAW,wDAA+B;AAAA,IAC7D,WAAW;AAAA,EACf,CAAC;AAAA,EACQ;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB,aAAa,OAAO,CAAC;AAAA,EACrB;AAAA,EACT,qBAAqB;AAAA,EAErB,YAAY,UAAoB,YAAwB,kBAA8B;AAClF,SAAK,YAAY;AACjB,SAAK,cAAc;AACnB,SAAK,oBAAoB;AACzB,SAAK,gBAAgB,KAAK,gBAAgB,QAAQ;AAAA,EACtD;AAAA,EAEA,aAAa,OAAO,UAAoB;AACpC,UAAM,MAAM,MAAM,sBAAO,cAAc;AACvC,UAAM,aAAa,MAAM,sBAAO,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAuD;AAEvD,gCAAmD;AACnD,+BAIO;AAbP;AAAA;AAAA;AAAA;AAAA;AAeA,SAAS,iBAAiB,UAAoB,WAAoB;AAC9D,SAAO,yBAAyB,SAAS,SAAS,EAAE,EAAE,YAAY,CAAC,IAC/D,cAAc,SAAY,WAAW,KAAK,UAAU,SAAS,EAAE,EAAE,YAAY,CAAC,EAClF;AACJ;AAEA,SAAS,iBAAiB,UAAoB,WAAmB;AAC7D,SAAO,yBAAyB,SAAS,SAAS,EAAE,EAAE,YAAY,CAAC,MAAM,UAAU,SAAS,EAAE,EAAE,YAAY,CAAC;AACjH;AAEA,SAAS,mBAAmB;AAExB,SAAO;AACX;AAEO,MAAM,8BAA8B;AAAA,EAC/B,YAAY,OAAO,CAAC;AAAA;AAAA;AAAA,EAInB,kBAAc,2BAAW,wDAA+B;AAAA,IAC7D,WAAW;AAAA,EACf,CAAC;AAAA,EACQ;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB,aAAa,OAAO,CAAC;AAAA,EACrB;AAAA,EACT,qBAAqB;AAAA,EAErB,YAAY,UAAoB,YAAwB,kBAA8B;AAClF,SAAK,YAAY;AACjB,SAAK,cAAc;AACnB,SAAK,oBAAoB;AACzB,SAAK,gBAAgB,KAAK,gBAAgB,QAAQ;AAAA,EACtD;AAAA,EAEA,aAAa,OAAO,UAAoB;AACpC,UAAM,MAAM,MAAM,sBAAO,cAAc;AACvC,UAAM,aAAa,MAAM,sBAAO,cAAc,IAAI,SAAS;AAC3D,WAAO,IAAI,8BAA8B,UAAU,KAAK,WAAW,MAAM,GAAG,EAAE,CAAC;AAAA,EACnF;AAAA,EAEA,aAAa;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM,UAAU,WAAmB;AAC/B,UAAM,aAAa,MAAM,sBAAO,cAAc;AAC9C,WAAO;AAAA,MACH,SAAS;AAAA,MACT,KAAK,MAAM,KAAK,eAAe,WAAW,WAAW,KAAK,WAAW,SAAS;AAAA,IAClF;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKQ,gBAAgB,UAAqB;AACzC,UAAM,MAAM,oBAAK,IAAI,EAAE,IAAI;AAC3B,UAAM,sBAAsB;AAAA,MACxB,cAAc,qBAAM,YAAQ,sBAAM,KAAK,SAAS,CAAC;AAAA,MACjD,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,MACpB,yBAAyB;AAAA,MACzB,QAAQ;AAAA,QACJ,YAAY,iBAAiB;AAAA,QAC7B;AAAA,MACJ;AAAA,MACA,eAAW,0CAAe,KAAK,EAAE;AAAA,MACjC,cAAU,0CAAe,KAAK,EAAE;AAAA,MAChC,SAAS;AAAA,QACL,YAAY,iBAAiB;AAAA,QAC7B;AAAA,MACJ;AAAA,MACA,wBAAwB,KAAK,YAAY;AAAA,MACzC,YAAY;AAAA,QACR,kBAAkB;AAAA,UACd,MAAM;AAAA,UACN,SAAS;AAAA,QACb;AAAA,QACA,UAAU;AAAA,UACN,aAAa;AAAA,UACb,SAAS;AAAA,QACb;AAAA,QACA,sBAAsB,KAAK;AAAA,QAC3B,wBAAwB,KAAK;AAAA,MACjC;AAAA,IACJ;AACA,WAAO,6CAAmB,sCAAsC,qBAAqB,KAAK,WAAW;AAAA,EACzG;AAAA,EAEQ,gBAAgB,UAAoB,WAAoB;AAC5D,UAAM,MAAM,oBAAK,IAAI,EAAE,IAAI;AAC3B,UAAM,sBAAsB;AAAA,MACxB,cAAc,qBAAM,YAAQ,sBAAM,KAAK,UAAU,CAAC;AAAA,MAClD,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,MACpB,yBAAyB;AAAA,MACzB,QAAQ;AAAA,QACJ,YAAY,iBAAiB;AAAA,MACjC;AAAA,MACA,eAAW,0CAAe,KAAK,EAAE;AAAA,MACjC,cAAU,0CAAe,KAAK,EAAE;AAAA,MAChC,SAAS;AAAA,QACL,YAAY,iBAAiB,UAAU,SAAS;AAAA,QAChD;AAAA,QACA;AAAA,MACJ;AAAA,MACA,wBAAwB,KAAK,YAAY;AAAA,MACzC,YAAY;AAAA,QACR,kBAAkB;AAAA,UACd,MAAM;AAAA,UACN,SAAS;AAAA,QACb;AAAA,QACA,UAAU;AAAA,UACN,aAAa;AAAA,UACb,SAAS;AAAA,QACb;AAAA,QACA,sBAAsB,KAAK;AAAA,QAC3B,wBAAwB,KAAK;AAAA,MACjC;AAAA,IACJ;AACA,WAAO,6CAAmB,yCAAyC,qBAAqB,KAAK,WAAW;AAAA,EAC5G;AAAA,EAEA,MAAM,eAAe,WAAuB,UAAoB,WAAmB;AAC/E,UAAM,MAAM,oBAAK,IAAI,EAAE,IAAI;AAC3B,UAAM,SAAS,KAAK;AACpB,UAAM,sBAAsB;AAAA,MACxB,cAAc,qBAAM,YAAQ,sBAAM,MAAM,CAAC;AAAA,MACzC,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,MACpB,yBAAyB;AAAA,MACzB,eAAW,0CAAe,KAAK,EAAE;AAAA,MACjC,cAAU,0CAAe,KAAK,EAAE;AAAA,MAChC,QAAQ;AAAA,QACJ,YAAY,iBAAiB,QAAQ;AAAA,QACrC;AAAA,MACJ;AAAA,MACA,SAAS;AAAA,QACL,YAAY,iBAAiB,UAAU,SAAS;AAAA,QAChD;AAAA,QACA;AAAA,MACJ;AAAA,MACA,wBAAwB;AAAA,MACxB,YAAY;AAAA,QACR,kBAAkB;AAAA,UACd,MAAM;AAAA,QACV;AAAA,QACA,UAAU;AAAA,UACN,kBAAkB;AAAA,QACtB;AAAA,QACA,uBAAuB,MAAM,sBAAO,cAAc,SAAS,GAAG,MAAM,GAAG,EAAE;AAAA,QACzE,wBAAwB,KAAK;AAAA,MACjC;AAAA,IACJ;AACA,WAAO,6CAAmB,4BAA4B,qBAAqB,KAAK,WAAW;AAAA,EAC/F;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -12,8 +12,8 @@ import { CaseAuthenticatedTag, FabricId, NodeId } from "#types";
|
|
|
12
12
|
export declare class CertificateAuthority {
|
|
13
13
|
#private;
|
|
14
14
|
get construction(): Construction<CertificateAuthority>;
|
|
15
|
-
static create(options
|
|
16
|
-
constructor(options
|
|
15
|
+
static create(options?: StorageContext | CertificateAuthority.Configuration): Promise<CertificateAuthority>;
|
|
16
|
+
constructor(options?: StorageContext | CertificateAuthority.Configuration);
|
|
17
17
|
static [Environmental.create](env: Environment): CertificateAuthority;
|
|
18
18
|
get rootCert(): Uint8Array<ArrayBufferLike>;
|
|
19
19
|
get config(): CertificateAuthority.Configuration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CertificateAuthority.d.ts","sourceRoot":"","sources":["../../../src/certificate/CertificateAuthority.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,aAAa,EAEb,YAAY,EAEZ,WAAW,EACX,aAAa,EAIb,cAAc,EAKjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAahE;;;GAGG;AACH,qBAAa,oBAAoB;;IAQ7B,IAAI,YAAY,uCAEf;WAEY,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,oBAAoB,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"CertificateAuthority.d.ts","sourceRoot":"","sources":["../../../src/certificate/CertificateAuthority.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,aAAa,EAEb,YAAY,EAEZ,WAAW,EACX,aAAa,EAIb,cAAc,EAKjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAahE;;;GAGG;AACH,qBAAa,oBAAoB;;IAQ7B,IAAI,YAAY,uCAEf;WAEY,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAAC,aAAa;gBAIrE,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAAC,aAAa;IAuCzE,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAO9C,IAAI,QAAQ,gCAEX;IAED,IAAI,MAAM,IAAI,oBAAoB,CAAC,aAAa,CAQ/C;IA+BK,WAAW,CACb,SAAS,EAAE,UAAU,EACrB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,CAAC,EAAE,oBAAoB,EAAE;CA8CrD;AAED,yBAAiB,oBAAoB,CAAC;IAClC,KAAY,aAAa,GAAG;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,aAAa,CAAC;QAC3B,iBAAiB,EAAE,UAAU,CAAC;QAC9B,aAAa,EAAE,UAAU,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACL"}
|
|
@@ -44,9 +44,9 @@ class CertificateAuthority {
|
|
|
44
44
|
}
|
|
45
45
|
constructor(options) {
|
|
46
46
|
this.#construction = (0, import_general.Construction)(this, async () => {
|
|
47
|
-
const certValues = options instanceof import_general.StorageContext ? await options.values() : options;
|
|
47
|
+
const certValues = options instanceof import_general.StorageContext ? await options.values() : options ?? {};
|
|
48
48
|
this.#rootKeyPair = await import_general.Crypto.createKeyPair();
|
|
49
|
-
this.#rootKeyIdentifier = (await import_general.Crypto.
|
|
49
|
+
this.#rootKeyIdentifier = (await import_general.Crypto.computeSha256(this.#rootKeyPair.publicKey)).slice(0, 20);
|
|
50
50
|
this.#rootCertBytes = await this.#generateRootCert();
|
|
51
51
|
if ((typeof certValues.rootCertId === "number" || typeof certValues.rootCertId === "bigint") && (ArrayBuffer.isView(certValues.rootKeyPair) || typeof certValues.rootKeyPair === "object") && ArrayBuffer.isView(certValues.rootKeyIdentifier) && ArrayBuffer.isView(certValues.rootCertBytes) && (typeof certValues.nextCertificateId === "number" || typeof certValues.nextCertificateId === "bigint")) {
|
|
52
52
|
this.#rootCertId = BigInt(certValues.rootCertId);
|
|
@@ -109,7 +109,7 @@ class CertificateAuthority {
|
|
|
109
109
|
authorityKeyIdentifier: this.#initializedRootKeyIdentifier
|
|
110
110
|
}
|
|
111
111
|
};
|
|
112
|
-
const signature = await import_general.Crypto.
|
|
112
|
+
const signature = await import_general.Crypto.signEcdsa(
|
|
113
113
|
this.#initializedRootKeyPair,
|
|
114
114
|
import_CertificateManager.CertificateManager.rootCertToAsn1(unsignedCertificate)
|
|
115
115
|
);
|
|
@@ -134,11 +134,11 @@ class CertificateAuthority {
|
|
|
134
134
|
digitalSignature: true
|
|
135
135
|
},
|
|
136
136
|
extendedKeyUsage: [2, 1],
|
|
137
|
-
subjectKeyIdentifier: (await import_general.Crypto.
|
|
137
|
+
subjectKeyIdentifier: (await import_general.Crypto.computeSha256(publicKey)).slice(0, 20),
|
|
138
138
|
authorityKeyIdentifier: this.#initializedRootKeyIdentifier
|
|
139
139
|
}
|
|
140
140
|
};
|
|
141
|
-
const signature = await import_general.Crypto.
|
|
141
|
+
const signature = await import_general.Crypto.signEcdsa(
|
|
142
142
|
this.#initializedRootKeyPair,
|
|
143
143
|
import_CertificateManager.CertificateManager.nodeOperationalCertToAsn1(unsignedCertificate)
|
|
144
144
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/certificate/CertificateAuthority.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAeO;AAEP,gCAQO;AA/BP;AAAA;AAAA;AAAA;AAAA;AAiCA,MAAM,SAAS,sBAAO,IAAI,sBAAsB;AAMzC,MAAM,qBAAqB;AAAA,EAC9B,cAAc,OAAO,CAAC;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA,qBAAqB,OAAO,CAAC;AAAA,EAC7B;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,aAAa,OAAO,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -547,7 +547,7 @@ export declare namespace CertificateManager {
|
|
|
547
547
|
function deviceAttestationCertToAsn1(cert: Unsigned<DeviceAttestationCertificate>, key: Key): Promise<Uint8Array<ArrayBufferLike>>;
|
|
548
548
|
function productAttestationIntermediateCertToAsn1(cert: Unsigned<ProductAttestationIntermediateCertificate>, key: Key): Promise<Uint8Array<ArrayBufferLike>>;
|
|
549
549
|
function productAttestationAuthorityCertToAsn1(cert: Unsigned<ProductAttestationAuthorityCertificate>, key: Key): Promise<Uint8Array<ArrayBufferLike>>;
|
|
550
|
-
function certificationDeclarationToAsn1(eContent: Uint8Array, subjectKeyIdentifier: Uint8Array, privateKey: JsonWebKey): Uint8Array<ArrayBufferLike
|
|
550
|
+
function certificationDeclarationToAsn1(eContent: Uint8Array, subjectKeyIdentifier: Uint8Array, privateKey: JsonWebKey): Promise<Uint8Array<ArrayBufferLike>>;
|
|
551
551
|
/**
|
|
552
552
|
* Validate general requirements a Matter certificate fields must fulfill.
|
|
553
553
|
* Rules for this are listed in @see {@link MatterSpecification.v12.Core} §6.5.x
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CertificateManager.d.ts","sourceRoot":"","sources":["../../../src/certificate/CertificateManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CertificateManager.d.ts","sourceRoot":"","sources":["../../../src/certificate/CertificateManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -494,10 +494,11 @@ var CertificateManager;
|
|
|
494
494
|
CertificateManager2.nodeOperationalCertToAsn1 = nodeOperationalCertToAsn1;
|
|
495
495
|
async function deviceAttestationCertToAsn1(cert, key) {
|
|
496
496
|
const certificate = genericBuildAsn1Structure(cert);
|
|
497
|
+
const signature = await import_general.Crypto.signEcdsa(key, import_general.DerCodec.encode(certificate), "der");
|
|
497
498
|
const certBytes = import_general.DerCodec.encode({
|
|
498
499
|
certificate,
|
|
499
500
|
signAlgorithm: import_general.X962.EcdsaWithSHA256,
|
|
500
|
-
signature: (0, import_general.
|
|
501
|
+
signature: (0, import_general.DerBitString)(signature)
|
|
501
502
|
});
|
|
502
503
|
assertCertificateDerSize(certBytes);
|
|
503
504
|
return certBytes;
|
|
@@ -505,10 +506,11 @@ var CertificateManager;
|
|
|
505
506
|
CertificateManager2.deviceAttestationCertToAsn1 = deviceAttestationCertToAsn1;
|
|
506
507
|
async function productAttestationIntermediateCertToAsn1(cert, key) {
|
|
507
508
|
const certificate = genericBuildAsn1Structure(cert);
|
|
509
|
+
const signature = await import_general.Crypto.signEcdsa(key, import_general.DerCodec.encode(certificate), "der");
|
|
508
510
|
const certBytes = import_general.DerCodec.encode({
|
|
509
511
|
certificate,
|
|
510
512
|
signAlgorithm: import_general.X962.EcdsaWithSHA256,
|
|
511
|
-
signature: (0, import_general.
|
|
513
|
+
signature: (0, import_general.DerBitString)(signature)
|
|
512
514
|
});
|
|
513
515
|
assertCertificateDerSize(certBytes);
|
|
514
516
|
return certBytes;
|
|
@@ -519,13 +521,13 @@ var CertificateManager;
|
|
|
519
521
|
const certBytes = import_general.DerCodec.encode({
|
|
520
522
|
certificate,
|
|
521
523
|
signAlgorithm: import_general.X962.EcdsaWithSHA256,
|
|
522
|
-
signature: (0, import_general.
|
|
524
|
+
signature: (0, import_general.DerBitString)(await import_general.Crypto.signEcdsa(key, import_general.DerCodec.encode(certificate), "der"))
|
|
523
525
|
});
|
|
524
526
|
assertCertificateDerSize(certBytes);
|
|
525
527
|
return certBytes;
|
|
526
528
|
}
|
|
527
529
|
CertificateManager2.productAttestationAuthorityCertToAsn1 = productAttestationAuthorityCertToAsn1;
|
|
528
|
-
function certificationDeclarationToAsn1(eContent, subjectKeyIdentifier, privateKey) {
|
|
530
|
+
async function certificationDeclarationToAsn1(eContent, subjectKeyIdentifier, privateKey) {
|
|
529
531
|
const certificate = {
|
|
530
532
|
version: 3,
|
|
531
533
|
digestAlgorithm: [import_general.SHA256_CMS],
|
|
@@ -536,7 +538,7 @@ var CertificateManager;
|
|
|
536
538
|
subjectKeyIdentifier: (0, import_general.ContextTaggedBytes)(0, subjectKeyIdentifier),
|
|
537
539
|
digestAlgorithm: import_general.SHA256_CMS,
|
|
538
540
|
signatureAlgorithm: import_general.X962.EcdsaWithSHA256,
|
|
539
|
-
signature: import_general.Crypto.
|
|
541
|
+
signature: await import_general.Crypto.signEcdsa(privateKey, eContent, "der")
|
|
540
542
|
}
|
|
541
543
|
]
|
|
542
544
|
};
|
|
@@ -626,7 +628,11 @@ var CertificateManager;
|
|
|
626
628
|
`Root certificate authorityKeyIdentifier must be equal to subjectKeyIdentifier.`
|
|
627
629
|
);
|
|
628
630
|
}
|
|
629
|
-
await import_general.Crypto.
|
|
631
|
+
await import_general.Crypto.verifyEcdsa(
|
|
632
|
+
(0, import_general.PublicKey)(rootCert.ellipticCurvePublicKey),
|
|
633
|
+
rootCertToAsn1(rootCert),
|
|
634
|
+
rootCert.signature
|
|
635
|
+
);
|
|
630
636
|
}
|
|
631
637
|
CertificateManager2.verifyRootCertificate = verifyRootCertificate;
|
|
632
638
|
async function verifyNodeOperationalCertificate(nocCert, rootCert, icaCert) {
|
|
@@ -701,7 +707,7 @@ var CertificateManager;
|
|
|
701
707
|
`Noc certificate authorityKeyIdentifier must be equal to Root/Ica subjectKeyIdentifier.`
|
|
702
708
|
);
|
|
703
709
|
}
|
|
704
|
-
await import_general.Crypto.
|
|
710
|
+
await import_general.Crypto.verifyEcdsa(
|
|
705
711
|
(0, import_general.PublicKey)((icaCert ?? rootCert).ellipticCurvePublicKey),
|
|
706
712
|
nodeOperationalCertToAsn1(nocCert),
|
|
707
713
|
nocCert.signature
|
|
@@ -776,7 +782,7 @@ var CertificateManager;
|
|
|
776
782
|
`Ica certificate authorityKeyIdentifier must be equal to root cert subjectKeyIdentifier.`
|
|
777
783
|
);
|
|
778
784
|
}
|
|
779
|
-
await import_general.Crypto.
|
|
785
|
+
await import_general.Crypto.verifyEcdsa(
|
|
780
786
|
(0, import_general.PublicKey)(rootCert.ellipticCurvePublicKey),
|
|
781
787
|
intermediateCaCertToAsn1(icaCert),
|
|
782
788
|
icaCert.signature
|
|
@@ -793,7 +799,7 @@ var CertificateManager;
|
|
|
793
799
|
return import_general.DerCodec.encode({
|
|
794
800
|
request,
|
|
795
801
|
signAlgorithm: import_general.X962.EcdsaWithSHA256,
|
|
796
|
-
signature: (0, import_general.
|
|
802
|
+
signature: (0, import_general.DerBitString)(await import_general.Crypto.signEcdsa(key, import_general.DerCodec.encode(request), "der"))
|
|
797
803
|
});
|
|
798
804
|
}
|
|
799
805
|
CertificateManager2.createCertificateSigningRequest = createCertificateSigningRequest;
|
|
@@ -815,7 +821,12 @@ var CertificateManager;
|
|
|
815
821
|
signAlgorithmNode[import_general.DerKey.Elements]?.[0]?.[import_general.DerKey.Bytes]
|
|
816
822
|
))
|
|
817
823
|
throw new CertificateError("Unsupported signature type");
|
|
818
|
-
await import_general.Crypto.
|
|
824
|
+
await import_general.Crypto.verifyEcdsa(
|
|
825
|
+
(0, import_general.PublicKey)(publicKey),
|
|
826
|
+
import_general.DerCodec.encode(requestNode),
|
|
827
|
+
signatureNode[import_general.DerKey.Bytes],
|
|
828
|
+
"der"
|
|
829
|
+
);
|
|
819
830
|
return publicKey;
|
|
820
831
|
}
|
|
821
832
|
CertificateManager2.getPublicKeyFromCsr = getPublicKeyFromCsr;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/certificate/CertificateManager.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["CertificateManager"]
|
|
6
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VendorId } from "#types";
|
|
2
2
|
export declare class CertificationDeclarationManager {
|
|
3
|
-
static generate(vendorId: VendorId, productId: number, provisional?: boolean): Uint8Array<ArrayBufferLike
|
|
3
|
+
static generate(vendorId: VendorId, productId: number, provisional?: boolean): Promise<Uint8Array<ArrayBufferLike>>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=CertificationDeclarationManager.d.ts.map
|
|
@@ -16,7 +16,7 @@ export declare class DeviceCertification {
|
|
|
16
16
|
get intermediateCertificate(): Uint8Array<ArrayBufferLike>;
|
|
17
17
|
get declaration(): Uint8Array<ArrayBufferLike>;
|
|
18
18
|
constructor(config?: DeviceCertification.Definition, product?: ProductDescription);
|
|
19
|
-
sign(session: NodeSession, data: Uint8Array):
|
|
19
|
+
sign(session: NodeSession, data: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
|
|
20
20
|
}
|
|
21
21
|
export declare namespace DeviceCertification {
|
|
22
22
|
interface Configuration {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceCertification.d.ts","sourceRoot":"","sources":["../../../src/certificate/DeviceCertification.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAA8C,UAAU,EAAE,MAAM,UAAU,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAI5C;;GAEG;AACH,qBAAa,mBAAmB;;IAO5B,IAAI,YAAY,sCAEf;IAED,IAAI,WAAW,gCAEd;IAED,IAAI,uBAAuB,gCAE1B;IAED,IAAI,WAAW,gCAEd;gBAEW,MAAM,CAAC,EAAE,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB;
|
|
1
|
+
{"version":3,"file":"DeviceCertification.d.ts","sourceRoot":"","sources":["../../../src/certificate/DeviceCertification.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAA8C,UAAU,EAAE,MAAM,UAAU,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAI5C;;GAEG;AACH,qBAAa,mBAAmB;;IAO5B,IAAI,YAAY,sCAEf;IAED,IAAI,WAAW,gCAEd;IAED,IAAI,uBAAuB,gCAE1B;IAED,IAAI,WAAW,gCAEd;gBAEW,MAAM,CAAC,EAAE,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAmC3E,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU;CA6BpD;AAED,yBAAiB,mBAAmB,CAAC;IACjC,UAAiB,aAAa;QAC1B,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;QACpC,WAAW,EAAE,UAAU,CAAC;QACxB,uBAAuB,EAAE,UAAU,CAAC;QACpC,WAAW,EAAE,UAAU,CAAC;KAC3B;IAED,KAAY,UAAU,GAAG,aAAa,GAAG,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;CAC3E"}
|
|
@@ -64,7 +64,7 @@ class DeviceCertification {
|
|
|
64
64
|
privateKey: (0, import_general.PrivateKey)(dacKeyPair.privateKey),
|
|
65
65
|
certificate: dac,
|
|
66
66
|
intermediateCertificate: await paa.getPAICert(),
|
|
67
|
-
declaration: import_CertificationDeclarationManager.CertificationDeclarationManager.generate(product.vendorId, product.productId)
|
|
67
|
+
declaration: await import_CertificationDeclarationManager.CertificationDeclarationManager.generate(product.vendorId, product.productId)
|
|
68
68
|
};
|
|
69
69
|
};
|
|
70
70
|
}
|
|
@@ -76,8 +76,10 @@ class DeviceCertification {
|
|
|
76
76
|
this.#declaration = config2.declaration;
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
|
-
sign(session, data) {
|
|
80
|
-
|
|
79
|
+
async sign(session, data) {
|
|
80
|
+
const { privateKey } = this.#assertInitialized();
|
|
81
|
+
const signature = await import_general.Crypto.signEcdsa(privateKey, [data, session.attestationChallengeKey]);
|
|
82
|
+
return signature;
|
|
81
83
|
}
|
|
82
84
|
/**
|
|
83
85
|
* Makes sure that the device certification is initialized and construction is completed and returns "Non-undefined"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/certificate/DeviceCertification.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAqF;AAGrF,2CAA8C;AAC9C,6CAAgD;AAVhD;AAAA;AAAA;AAAA;AAAA;AAeO,MAAM,oBAAoB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACS;AAAA,EAET,IAAI,eAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK,mBAAmB,EAAE;AAAA,EACrC;AAAA,EAEA,IAAI,0BAA0B;AAC1B,WAAO,KAAK,mBAAmB,EAAE;AAAA,EACrC;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK,mBAAmB,EAAE;AAAA,EACrC;AAAA,EAEA,YAAY,QAAyC,SAA8B;AAC/E,QAAI;AACJ,QAAI,OAAO,WAAW,YAAY;AAC9B,uBAAiB;AAAA,IACrB,WAAW,QAAQ;AACf,uBAAiB,MAAM;AAAA,IAC3B,OAAO;AACH,uBAAiB,YAAY;AACzB,YAAI,YAAY,QAAW;AACvB,gBAAM,IAAI,mCAAoB,kEAAkE;AAAA,QACpG;AAEA,cAAM,MAAM,MAAM,mEAA8B,OAAO,QAAQ,QAAQ;AACvE,cAAM,EAAE,SAAS,YAAY,IAAI,IAAI,MAAM,IAAI,UAAU,QAAQ,SAAS;AAE1E,eAAO;AAAA,UACH,gBAAY,2BAAW,WAAW,UAAU;AAAA,UAC5C,aAAa;AAAA,UACb,yBAAyB,MAAM,IAAI,WAAW;AAAA,UAC9C,aAAa,uEAAgC,SAAS,QAAQ,UAAU,QAAQ,SAAS;AAAA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAqF;AAGrF,2CAA8C;AAC9C,6CAAgD;AAVhD;AAAA;AAAA;AAAA;AAAA;AAeO,MAAM,oBAAoB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACS;AAAA,EAET,IAAI,eAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK,mBAAmB,EAAE;AAAA,EACrC;AAAA,EAEA,IAAI,0BAA0B;AAC1B,WAAO,KAAK,mBAAmB,EAAE;AAAA,EACrC;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK,mBAAmB,EAAE;AAAA,EACrC;AAAA,EAEA,YAAY,QAAyC,SAA8B;AAC/E,QAAI;AACJ,QAAI,OAAO,WAAW,YAAY;AAC9B,uBAAiB;AAAA,IACrB,WAAW,QAAQ;AACf,uBAAiB,MAAM;AAAA,IAC3B,OAAO;AACH,uBAAiB,YAAY;AACzB,YAAI,YAAY,QAAW;AACvB,gBAAM,IAAI,mCAAoB,kEAAkE;AAAA,QACpG;AAEA,cAAM,MAAM,MAAM,mEAA8B,OAAO,QAAQ,QAAQ;AACvE,cAAM,EAAE,SAAS,YAAY,IAAI,IAAI,MAAM,IAAI,UAAU,QAAQ,SAAS;AAE1E,eAAO;AAAA,UACH,gBAAY,2BAAW,WAAW,UAAU;AAAA,UAC5C,aAAa;AAAA,UACb,yBAAyB,MAAM,IAAI,WAAW;AAAA,UAC9C,aAAa,MAAM,uEAAgC,SAAS,QAAQ,UAAU,QAAQ,SAAS;AAAA,QACnG;AAAA,MACJ;AAAA,IACJ;AAEA,SAAK,oBAAgB,6BAAa,MAAM,YAAY;AAChD,YAAMA,UAAS,MAAM,eAAe;AAEpC,WAAK,cACDA,QAAO,sBAAsB,iBAAa,2BAAWA,QAAO,UAAU,IAAIA,QAAO;AACrF,WAAK,eAAeA,QAAO;AAC3B,WAAK,2BAA2BA,QAAO;AACvC,WAAK,eAAeA,QAAO;AAAA,IAC/B,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,KAAK,SAAsB,MAAkB;AAC/C,UAAM,EAAE,WAAW,IAAI,KAAK,mBAAmB;AAC/C,UAAM,YAAY,MAAM,sBAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,uBAAuB,CAAC;AAC5F,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,qBAAqB;AACjB,SAAK,cAAc,OAAO;AAC1B,QACI,KAAK,iBAAiB,UACtB,KAAK,6BAA6B,UAClC,KAAK,iBAAiB,UACtB,KAAK,gBAAgB,QACvB;AACE,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AACA,WAAO;AAAA,MACH,aAAa,KAAK;AAAA,MAClB,yBAAyB,KAAK;AAAA,MAC9B,aAAa,KAAK;AAAA,MAClB,YAAY,KAAK;AAAA,IACrB;AAAA,EACJ;AACJ;",
|
|
5
5
|
"names": ["config"]
|
|
6
6
|
}
|
|
@@ -61,7 +61,7 @@ export declare class BtpCodec {
|
|
|
61
61
|
static decodeBtpHandshakeResponsePayload(data: Uint8Array): BtpHandshakeResponse;
|
|
62
62
|
private static decodeBtpPacketHeader;
|
|
63
63
|
private static encodeBtpPacketHeader;
|
|
64
|
-
static encodeBleAdvertisementData(discriminator: number, vendorId: number, productId: number, hasAdditionalAdvertisementData?: boolean): Uint8Array<
|
|
64
|
+
static encodeBleAdvertisementData(discriminator: number, vendorId: number, productId: number, hasAdditionalAdvertisementData?: boolean): Uint8Array<ArrayBuffer>;
|
|
65
65
|
static decodeBleAdvertisementData(data: Uint8Array): {
|
|
66
66
|
discriminator: number;
|
|
67
67
|
vendorId: number;
|
|
@@ -57,7 +57,7 @@ export declare class MessageCodec {
|
|
|
57
57
|
static encodePacket({ header, applicationPayload, messageExtension }: Packet): Uint8Array;
|
|
58
58
|
private static decodePacketHeader;
|
|
59
59
|
private static decodePayloadHeader;
|
|
60
|
-
static encodePacketHeader({ messageId: messageCounter, sessionId, destGroupId, destNodeId, sourceNodeId, sessionType, }: PacketHeader): Uint8Array<
|
|
60
|
+
static encodePacketHeader({ messageId: messageCounter, sessionId, destGroupId, destNodeId, sourceNodeId, sessionType, }: PacketHeader): Uint8Array<ArrayBuffer>;
|
|
61
61
|
static messageDiagnostics({ packetHeader: { messageId, sessionId }, payloadHeader: { exchangeId, messageType, protocolId, ackedMessageId, requiresAck }, payload, }: Message, logContext?: ExchangeLogContext): Record<string, unknown> & Diagnostic;
|
|
62
62
|
private static encodePayloadHeader;
|
|
63
63
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { BinaryKeyPair, Key, MatterError, MaybePromise, PrivateKey, StorageContext } from "#general";
|
|
7
|
-
import {
|
|
7
|
+
import { FabricGroups } from "#groups/FabricGroups.js";
|
|
8
|
+
import { FabricAccessControl } from "#interaction/FabricAccessControl.js";
|
|
8
9
|
import { PeerAddress } from "#peer/PeerAddress.js";
|
|
9
10
|
import { Session } from "#session/Session.js";
|
|
10
11
|
import { FabricId, FabricIndex, GroupId, NodeId, VendorId } from "#types";
|
|
@@ -38,20 +39,21 @@ export declare class Fabric {
|
|
|
38
39
|
setLabel(label: string): Promise<void>;
|
|
39
40
|
set storage(storage: StorageContext);
|
|
40
41
|
get storage(): StorageContext | undefined;
|
|
41
|
-
get groups():
|
|
42
|
+
get groups(): FabricGroups;
|
|
43
|
+
get acl(): FabricAccessControl;
|
|
42
44
|
get publicKey(): Uint8Array<ArrayBufferLike>;
|
|
43
45
|
sign(data: Uint8Array): MaybePromise<Uint8Array<ArrayBufferLike>>;
|
|
44
46
|
verifyCredentials(operationalCert: Uint8Array, intermediateCACert?: Uint8Array): Promise<void>;
|
|
45
47
|
matchesFabricIdAndRootPublicKey(fabricId: FabricId, rootPublicKey: Uint8Array): boolean;
|
|
46
48
|
matchesKeyPair(keyPair: Key): boolean;
|
|
47
49
|
/**
|
|
48
|
-
* Returns the destination IDs for a given nodeId, random value and optional groupId.
|
|
49
|
-
*
|
|
50
|
+
* Returns the destination IDs for a given nodeId, random value and optional groupId. When groupId is provided, it
|
|
51
|
+
* returns the time-wise valid operational keys for that groupId.
|
|
50
52
|
*/
|
|
51
53
|
currentDestinationIdFor(nodeId: NodeId, random: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
|
|
52
54
|
/**
|
|
53
|
-
* Returns the destination IDs for a given nodeId, random value and optional groupId.
|
|
54
|
-
*
|
|
55
|
+
* Returns the destination IDs for a given nodeId, random value and optional groupId. When groupId is provided, it
|
|
56
|
+
* returns all operational keys for that groupId.
|
|
55
57
|
*/
|
|
56
58
|
destinationIdsFor(nodeId: NodeId, random: Uint8Array): Promise<Uint8Array<ArrayBufferLike>[]>;
|
|
57
59
|
addSession(session: Session): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fabric.d.ts","sourceRoot":"","sources":["../../../src/fabric/Fabric.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EACH,aAAa,
|
|
1
|
+
{"version":3,"file":"Fabric.d.ts","sourceRoot":"","sources":["../../../src/fabric/Fabric.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,8 @@ __export(Fabric_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(Fabric_exports);
|
|
26
26
|
var import_CertificateManager = require("#certificate/CertificateManager.js");
|
|
27
27
|
var import_general = require("#general");
|
|
28
|
-
var
|
|
28
|
+
var import_FabricGroups = require("#groups/FabricGroups.js");
|
|
29
|
+
var import_FabricAccessControl = require("#interaction/FabricAccessControl.js");
|
|
29
30
|
var import_PeerAddress = require("#peer/PeerAddress.js");
|
|
30
31
|
var import_types = require("#types");
|
|
31
32
|
/**
|
|
@@ -53,6 +54,7 @@ class Fabric {
|
|
|
53
54
|
#keyPair;
|
|
54
55
|
#sessions = /* @__PURE__ */ new Set();
|
|
55
56
|
#groupManager;
|
|
57
|
+
#aclManager;
|
|
56
58
|
#label;
|
|
57
59
|
#removeCallbacks = new Array();
|
|
58
60
|
#persistCallback;
|
|
@@ -72,7 +74,8 @@ class Fabric {
|
|
|
72
74
|
this.operationalCert = config.operationalCert;
|
|
73
75
|
this.#label = config.label;
|
|
74
76
|
this.#keyPair = (0, import_general.PrivateKey)(config.keyPair);
|
|
75
|
-
this.#
|
|
77
|
+
this.#aclManager = new import_FabricAccessControl.FabricAccessControl(this);
|
|
78
|
+
this.#groupManager = new import_FabricGroups.FabricGroups(this);
|
|
76
79
|
}
|
|
77
80
|
get config() {
|
|
78
81
|
return {
|
|
@@ -115,11 +118,14 @@ class Fabric {
|
|
|
115
118
|
get groups() {
|
|
116
119
|
return this.#groupManager;
|
|
117
120
|
}
|
|
121
|
+
get acl() {
|
|
122
|
+
return this.#aclManager;
|
|
123
|
+
}
|
|
118
124
|
get publicKey() {
|
|
119
125
|
return this.#keyPair.publicKey;
|
|
120
126
|
}
|
|
121
127
|
sign(data) {
|
|
122
|
-
return import_general.Crypto.
|
|
128
|
+
return import_general.Crypto.signEcdsa(this.#keyPair, data);
|
|
123
129
|
}
|
|
124
130
|
async verifyCredentials(operationalCert, intermediateCACert) {
|
|
125
131
|
const rootCert = import_CertificateManager.TlvRootCertificate.decode(this.rootCert);
|
|
@@ -145,19 +151,19 @@ class Fabric {
|
|
|
145
151
|
return writer.toByteArray();
|
|
146
152
|
}
|
|
147
153
|
/**
|
|
148
|
-
* Returns the destination IDs for a given nodeId, random value and optional groupId.
|
|
149
|
-
*
|
|
154
|
+
* Returns the destination IDs for a given nodeId, random value and optional groupId. When groupId is provided, it
|
|
155
|
+
* returns the time-wise valid operational keys for that groupId.
|
|
150
156
|
*/
|
|
151
157
|
async currentDestinationIdFor(nodeId, random) {
|
|
152
|
-
return await import_general.Crypto.
|
|
158
|
+
return await import_general.Crypto.signHmac(this.groups.keySets.currentKeyForId(0).key, this.#generateSalt(nodeId, random));
|
|
153
159
|
}
|
|
154
160
|
/**
|
|
155
|
-
* Returns the destination IDs for a given nodeId, random value and optional groupId.
|
|
156
|
-
*
|
|
161
|
+
* Returns the destination IDs for a given nodeId, random value and optional groupId. When groupId is provided, it
|
|
162
|
+
* returns all operational keys for that groupId.
|
|
157
163
|
*/
|
|
158
164
|
async destinationIdsFor(nodeId, random) {
|
|
159
165
|
const salt = this.#generateSalt(nodeId, random);
|
|
160
|
-
const destinationIds = this.groups.keySets.allKeysForId(0).map(({ key }) => import_general.Crypto.
|
|
166
|
+
const destinationIds = this.groups.keySets.allKeysForId(0).map(({ key }) => import_general.Crypto.signHmac(key, salt));
|
|
161
167
|
return await Promise.all(destinationIds);
|
|
162
168
|
}
|
|
163
169
|
addSession(session) {
|
|
@@ -254,16 +260,17 @@ class FabricBuilder {
|
|
|
254
260
|
ellipticCurvePublicKey
|
|
255
261
|
} = import_CertificateManager.TlvOperationalCertificate.decode(operationalCert);
|
|
256
262
|
logger.debug(
|
|
257
|
-
|
|
263
|
+
"Installing operational certificate",
|
|
264
|
+
import_general.Diagnostic.dict({ nodeId, fabricId, caseAuthenticatedTags })
|
|
258
265
|
);
|
|
259
266
|
if (caseAuthenticatedTags !== void 0) {
|
|
260
267
|
import_types.CaseAuthenticatedTag.validateNocTagList(caseAuthenticatedTags);
|
|
261
268
|
}
|
|
262
269
|
if (!import_general.Bytes.areEqual(ellipticCurvePublicKey, this.#keyPair.publicKey)) {
|
|
263
|
-
throw new PublicKeyError("Operational
|
|
270
|
+
throw new PublicKeyError("Operational certificate does not match public key");
|
|
264
271
|
}
|
|
265
272
|
if (this.#rootCert === void 0) {
|
|
266
|
-
throw new import_general.MatterFlowError("Root
|
|
273
|
+
throw new import_general.MatterFlowError("Root certificate needs to be set first");
|
|
267
274
|
}
|
|
268
275
|
const rootCert = import_CertificateManager.TlvRootCertificate.decode(this.#rootCert);
|
|
269
276
|
const nocCert = import_CertificateManager.TlvOperationalCertificate.decode(operationalCert);
|
|
@@ -332,7 +339,7 @@ class FabricBuilder {
|
|
|
332
339
|
this.#fabricIndex = fabricIndex;
|
|
333
340
|
const saltWriter = new import_general.DataWriter();
|
|
334
341
|
saltWriter.writeUInt64(this.#fabricId);
|
|
335
|
-
const operationalId = await import_general.Crypto.
|
|
342
|
+
const operationalId = await import_general.Crypto.createHkdfKey(
|
|
336
343
|
this.#rootPublicKey.slice(1),
|
|
337
344
|
saltWriter.toByteArray(),
|
|
338
345
|
COMPRESSED_FABRIC_ID_INFO,
|
|
@@ -350,10 +357,10 @@ class FabricBuilder {
|
|
|
350
357
|
rootCert: this.#rootCert,
|
|
351
358
|
identityProtectionKey: this.#identityProtectionKey,
|
|
352
359
|
// Epoch Key
|
|
353
|
-
operationalIdentityProtectionKey: await import_general.Crypto.
|
|
360
|
+
operationalIdentityProtectionKey: await import_general.Crypto.createHkdfKey(
|
|
354
361
|
this.#identityProtectionKey,
|
|
355
362
|
operationalId,
|
|
356
|
-
|
|
363
|
+
import_FabricGroups.GROUP_SECURITY_INFO
|
|
357
364
|
),
|
|
358
365
|
intermediateCACert: this.#intermediateCACert,
|
|
359
366
|
operationalCert: this.#operationalCert,
|