@matter/protocol 0.15.0-alpha.0-20250617-f4d4cad23 → 0.15.0-alpha.0-20250620-16e218ed3
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/action/client/index.d.ts +1 -1
- package/dist/cjs/action/client/index.js +1 -1
- package/dist/cjs/action/errors.d.ts +12 -0
- package/dist/cjs/action/errors.d.ts.map +1 -1
- package/dist/cjs/action/errors.js +13 -1
- package/dist/cjs/action/errors.js.map +1 -1
- package/dist/cjs/action/protocols.d.ts +1 -1
- package/dist/cjs/action/protocols.js +1 -1
- package/dist/cjs/action/server/AttributeReadResponse.d.ts +1 -1
- package/dist/cjs/action/server/AttributeReadResponse.js +1 -1
- package/dist/cjs/action/server/AttributeSubscriptionResponse.d.ts +1 -1
- package/dist/cjs/action/server/AttributeSubscriptionResponse.js +1 -1
- package/dist/cjs/action/server/AttributeWriteResponse.d.ts +1 -1
- package/dist/cjs/action/server/AttributeWriteResponse.js +1 -1
- package/dist/cjs/action/server/CommandInvokeResponse.d.ts +1 -1
- package/dist/cjs/action/server/CommandInvokeResponse.js +1 -1
- package/dist/cjs/action/server/DataResponse.d.ts +1 -1
- package/dist/cjs/action/server/DataResponse.js +1 -1
- package/dist/cjs/action/server/EventReadResponse.d.ts +1 -1
- package/dist/cjs/action/server/EventReadResponse.js +1 -1
- package/dist/cjs/action/server/ServerInteraction.d.ts +1 -1
- package/dist/cjs/action/server/ServerInteraction.js +1 -1
- package/dist/cjs/action/server/index.d.ts +1 -1
- package/dist/cjs/action/server/index.js +1 -1
- package/dist/cjs/certificate/AttestationCertificateManager.d.ts.map +1 -1
- package/dist/cjs/certificate/AttestationCertificateManager.js +26 -22
- package/dist/cjs/certificate/AttestationCertificateManager.js.map +1 -1
- package/dist/cjs/certificate/CertificateAuthority.d.ts +1 -2
- package/dist/cjs/certificate/CertificateAuthority.d.ts.map +1 -1
- package/dist/cjs/certificate/CertificateAuthority.js +22 -29
- package/dist/cjs/certificate/CertificateAuthority.js.map +1 -1
- package/dist/cjs/certificate/DeviceCertification.d.ts.map +1 -1
- package/dist/cjs/certificate/DeviceCertification.js +2 -6
- package/dist/cjs/certificate/DeviceCertification.js.map +1 -1
- package/dist/cjs/certificate/index.d.ts +7 -2
- package/dist/cjs/certificate/index.d.ts.map +1 -1
- package/dist/cjs/certificate/index.js +14 -2
- package/dist/cjs/certificate/index.js.map +1 -1
- package/dist/cjs/certificate/kinds/AttestationCertificates.d.ts +34 -0
- package/dist/cjs/certificate/kinds/AttestationCertificates.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/AttestationCertificates.js +64 -0
- package/dist/cjs/certificate/kinds/AttestationCertificates.js.map +6 -0
- package/dist/cjs/certificate/kinds/CertificationDeclaration.d.ts +23 -0
- package/dist/cjs/certificate/kinds/CertificationDeclaration.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/CertificationDeclaration.js +86 -0
- package/dist/cjs/certificate/kinds/CertificationDeclaration.js.map +6 -0
- package/dist/cjs/certificate/kinds/Icac.d.ts +29 -0
- package/dist/cjs/certificate/kinds/Icac.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/Icac.js +138 -0
- package/dist/cjs/certificate/kinds/Icac.js.map +6 -0
- package/dist/cjs/certificate/kinds/Noc.d.ts +27 -0
- package/dist/cjs/certificate/kinds/Noc.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/Noc.js +148 -0
- package/dist/cjs/certificate/kinds/Noc.js.map +6 -0
- package/dist/cjs/certificate/kinds/OperationalBase.d.ts +24 -0
- package/dist/cjs/certificate/kinds/OperationalBase.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/OperationalBase.js +68 -0
- package/dist/cjs/certificate/kinds/OperationalBase.js.map +6 -0
- package/dist/cjs/certificate/kinds/Rcac.d.ts +25 -0
- package/dist/cjs/certificate/kinds/Rcac.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/Rcac.js +119 -0
- package/dist/cjs/certificate/kinds/Rcac.js.map +6 -0
- package/dist/cjs/certificate/kinds/X509Base.d.ts +92 -0
- package/dist/cjs/certificate/kinds/X509Base.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/X509Base.js +344 -0
- package/dist/cjs/certificate/kinds/X509Base.js.map +6 -0
- package/dist/cjs/certificate/kinds/common.d.ts +18 -0
- package/dist/cjs/certificate/kinds/common.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/common.js +42 -0
- package/dist/cjs/certificate/kinds/common.js.map +6 -0
- package/dist/cjs/certificate/kinds/definitions/asn.d.ts +25 -0
- package/dist/cjs/certificate/kinds/definitions/asn.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/definitions/asn.js +83 -0
- package/dist/cjs/certificate/kinds/definitions/asn.js.map +6 -0
- package/dist/cjs/certificate/kinds/definitions/attestation.d.ts +44 -0
- package/dist/cjs/certificate/kinds/definitions/attestation.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/definitions/attestation.js +22 -0
- package/dist/cjs/certificate/kinds/definitions/attestation.js.map +6 -0
- package/dist/cjs/certificate/kinds/definitions/base.d.ts +52 -0
- package/dist/cjs/certificate/kinds/definitions/base.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/definitions/base.js +43 -0
- package/dist/cjs/certificate/kinds/definitions/base.js.map +6 -0
- package/dist/cjs/certificate/kinds/definitions/certification-declaration.d.ts +18 -0
- package/dist/cjs/certificate/kinds/definitions/certification-declaration.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/definitions/certification-declaration.js +50 -0
- package/dist/cjs/certificate/kinds/definitions/certification-declaration.js.map +6 -0
- package/dist/cjs/certificate/kinds/definitions/operational.d.ts +368 -0
- package/dist/cjs/certificate/kinds/definitions/operational.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/definitions/operational.js +149 -0
- package/dist/cjs/certificate/kinds/definitions/operational.js.map +6 -0
- package/dist/cjs/certificate/kinds/index.d.ts +12 -0
- package/dist/cjs/certificate/kinds/index.d.ts.map +1 -0
- package/dist/cjs/certificate/kinds/index.js +29 -0
- package/dist/cjs/certificate/kinds/index.js.map +6 -0
- package/dist/cjs/fabric/Fabric.d.ts +1 -2
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/fabric/Fabric.js +28 -31
- package/dist/cjs/fabric/Fabric.js.map +1 -1
- package/dist/cjs/fabric/TestFabric.d.ts +1 -1
- package/dist/cjs/fabric/TestFabric.js +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.js +2 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/cjs/session/case/CaseClient.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseClient.js +3 -3
- 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 +2 -2
- package/dist/cjs/session/case/CaseServer.js.map +1 -1
- package/dist/esm/action/client/index.d.ts +1 -1
- package/dist/esm/action/client/index.js +1 -1
- package/dist/esm/action/errors.d.ts +12 -0
- package/dist/esm/action/errors.d.ts.map +1 -1
- package/dist/esm/action/errors.js +13 -1
- package/dist/esm/action/errors.js.map +1 -1
- package/dist/esm/action/protocols.d.ts +1 -1
- package/dist/esm/action/protocols.js +1 -1
- package/dist/esm/action/server/AttributeReadResponse.d.ts +1 -1
- package/dist/esm/action/server/AttributeReadResponse.js +1 -1
- package/dist/esm/action/server/AttributeSubscriptionResponse.d.ts +1 -1
- package/dist/esm/action/server/AttributeSubscriptionResponse.js +1 -1
- package/dist/esm/action/server/AttributeWriteResponse.d.ts +1 -1
- package/dist/esm/action/server/AttributeWriteResponse.js +1 -1
- package/dist/esm/action/server/CommandInvokeResponse.d.ts +1 -1
- package/dist/esm/action/server/CommandInvokeResponse.js +1 -1
- package/dist/esm/action/server/DataResponse.d.ts +1 -1
- package/dist/esm/action/server/DataResponse.js +1 -1
- package/dist/esm/action/server/EventReadResponse.d.ts +1 -1
- package/dist/esm/action/server/EventReadResponse.js +1 -1
- package/dist/esm/action/server/ServerInteraction.d.ts +1 -1
- package/dist/esm/action/server/ServerInteraction.js +1 -1
- package/dist/esm/action/server/index.d.ts +1 -1
- package/dist/esm/action/server/index.js +1 -1
- package/dist/esm/certificate/AttestationCertificateManager.d.ts.map +1 -1
- package/dist/esm/certificate/AttestationCertificateManager.js +20 -16
- package/dist/esm/certificate/AttestationCertificateManager.js.map +1 -1
- package/dist/esm/certificate/CertificateAuthority.d.ts +1 -2
- package/dist/esm/certificate/CertificateAuthority.d.ts.map +1 -1
- package/dist/esm/certificate/CertificateAuthority.js +18 -30
- package/dist/esm/certificate/CertificateAuthority.js.map +1 -1
- package/dist/esm/certificate/DeviceCertification.d.ts.map +1 -1
- package/dist/esm/certificate/DeviceCertification.js +2 -6
- package/dist/esm/certificate/DeviceCertification.js.map +1 -1
- package/dist/esm/certificate/index.d.ts +7 -2
- package/dist/esm/certificate/index.d.ts.map +1 -1
- package/dist/esm/certificate/index.js +10 -2
- package/dist/esm/certificate/index.js.map +1 -1
- package/dist/esm/certificate/kinds/AttestationCertificates.d.ts +34 -0
- package/dist/esm/certificate/kinds/AttestationCertificates.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/AttestationCertificates.js +44 -0
- package/dist/esm/certificate/kinds/AttestationCertificates.js.map +6 -0
- package/dist/esm/certificate/kinds/CertificationDeclaration.d.ts +23 -0
- package/dist/esm/certificate/kinds/CertificationDeclaration.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/CertificationDeclaration.js +66 -0
- package/dist/esm/certificate/kinds/CertificationDeclaration.js.map +6 -0
- package/dist/esm/certificate/kinds/Icac.d.ts +29 -0
- package/dist/esm/certificate/kinds/Icac.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/Icac.js +118 -0
- package/dist/esm/certificate/kinds/Icac.js.map +6 -0
- package/dist/esm/certificate/kinds/Noc.d.ts +27 -0
- package/dist/esm/certificate/kinds/Noc.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/Noc.js +128 -0
- package/dist/esm/certificate/kinds/Noc.js.map +6 -0
- package/dist/esm/certificate/kinds/OperationalBase.d.ts +24 -0
- package/dist/esm/certificate/kinds/OperationalBase.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/OperationalBase.js +48 -0
- package/dist/esm/certificate/kinds/OperationalBase.js.map +6 -0
- package/dist/esm/certificate/kinds/Rcac.d.ts +25 -0
- package/dist/esm/certificate/kinds/Rcac.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/Rcac.js +99 -0
- package/dist/esm/certificate/kinds/Rcac.js.map +6 -0
- package/dist/esm/certificate/kinds/X509Base.d.ts +92 -0
- package/dist/esm/certificate/kinds/X509Base.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/X509Base.js +347 -0
- package/dist/esm/certificate/kinds/X509Base.js.map +6 -0
- package/dist/esm/certificate/kinds/common.d.ts +18 -0
- package/dist/esm/certificate/kinds/common.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/common.js +22 -0
- package/dist/esm/certificate/kinds/common.js.map +6 -0
- package/dist/esm/certificate/kinds/definitions/asn.d.ts +25 -0
- package/dist/esm/certificate/kinds/definitions/asn.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/definitions/asn.js +63 -0
- package/dist/esm/certificate/kinds/definitions/asn.js.map +6 -0
- package/dist/esm/certificate/kinds/definitions/attestation.d.ts +44 -0
- package/dist/esm/certificate/kinds/definitions/attestation.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/definitions/attestation.js +6 -0
- package/dist/esm/certificate/kinds/definitions/attestation.js.map +6 -0
- package/dist/esm/certificate/kinds/definitions/base.d.ts +52 -0
- package/dist/esm/certificate/kinds/definitions/base.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/definitions/base.js +23 -0
- package/dist/esm/certificate/kinds/definitions/base.js.map +6 -0
- package/dist/esm/certificate/kinds/definitions/certification-declaration.d.ts +18 -0
- package/dist/esm/certificate/kinds/definitions/certification-declaration.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/definitions/certification-declaration.js +41 -0
- package/dist/esm/certificate/kinds/definitions/certification-declaration.js.map +6 -0
- package/dist/esm/certificate/kinds/definitions/operational.d.ts +368 -0
- package/dist/esm/certificate/kinds/definitions/operational.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/definitions/operational.js +148 -0
- package/dist/esm/certificate/kinds/definitions/operational.js.map +6 -0
- package/dist/esm/certificate/kinds/index.d.ts +12 -0
- package/dist/esm/certificate/kinds/index.d.ts.map +1 -0
- package/dist/esm/certificate/kinds/index.js +12 -0
- package/dist/esm/certificate/kinds/index.js.map +6 -0
- package/dist/esm/fabric/Fabric.d.ts +1 -2
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/fabric/Fabric.js +28 -36
- package/dist/esm/fabric/Fabric.js.map +1 -1
- package/dist/esm/fabric/TestFabric.d.ts +1 -1
- package/dist/esm/fabric/TestFabric.js +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.js +2 -1
- package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/esm/session/case/CaseClient.d.ts.map +1 -1
- package/dist/esm/session/case/CaseClient.js +3 -3
- 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 +2 -2
- package/dist/esm/session/case/CaseServer.js.map +1 -1
- package/package.json +6 -6
- package/src/action/client/index.ts +1 -1
- package/src/action/errors.ts +19 -1
- package/src/action/protocols.ts +1 -1
- package/src/action/server/AttributeReadResponse.ts +1 -1
- package/src/action/server/AttributeSubscriptionResponse.ts +1 -1
- package/src/action/server/AttributeWriteResponse.ts +1 -1
- package/src/action/server/CommandInvokeResponse.ts +1 -1
- package/src/action/server/DataResponse.ts +1 -1
- package/src/action/server/EventReadResponse.ts +1 -1
- package/src/action/server/ServerInteraction.ts +1 -1
- package/src/action/server/index.ts +1 -1
- package/src/certificate/AttestationCertificateManager.ts +20 -16
- package/src/certificate/CertificateAuthority.ts +18 -35
- package/src/certificate/DeviceCertification.ts +2 -6
- package/src/certificate/index.ts +7 -2
- package/src/certificate/kinds/AttestationCertificates.ts +48 -0
- package/src/certificate/kinds/CertificationDeclaration.ts +91 -0
- package/src/certificate/kinds/Icac.ts +156 -0
- package/src/certificate/kinds/Noc.ts +164 -0
- package/src/certificate/kinds/OperationalBase.ts +72 -0
- package/src/certificate/kinds/Rcac.ts +126 -0
- package/src/certificate/kinds/X509Base.ts +380 -0
- package/src/certificate/kinds/common.ts +24 -0
- package/src/certificate/kinds/definitions/asn.ts +97 -0
- package/src/certificate/kinds/definitions/attestation.ts +46 -0
- package/src/certificate/kinds/definitions/base.ts +43 -0
- package/src/certificate/kinds/definitions/certification-declaration.ts +38 -0
- package/src/certificate/kinds/definitions/operational.ts +179 -0
- package/src/certificate/kinds/index.ts +12 -0
- package/src/fabric/Fabric.ts +28 -40
- package/src/fabric/TestFabric.ts +1 -1
- package/src/peer/ControllerCommissioningFlow.ts +2 -1
- package/src/session/case/CaseClient.ts +3 -3
- package/src/session/case/CaseServer.ts +2 -2
- package/dist/cjs/certificate/CertificateManager.d.ts +0 -578
- package/dist/cjs/certificate/CertificateManager.d.ts.map +0 -1
- package/dist/cjs/certificate/CertificateManager.js +0 -843
- package/dist/cjs/certificate/CertificateManager.js.map +0 -6
- package/dist/cjs/certificate/CertificationDeclarationManager.d.ts +0 -11
- package/dist/cjs/certificate/CertificationDeclarationManager.d.ts.map +0 -1
- package/dist/cjs/certificate/CertificationDeclarationManager.js +0 -54
- package/dist/cjs/certificate/CertificationDeclarationManager.js.map +0 -6
- package/dist/esm/certificate/CertificateManager.d.ts +0 -578
- package/dist/esm/certificate/CertificateManager.d.ts.map +0 -1
- package/dist/esm/certificate/CertificateManager.js +0 -870
- package/dist/esm/certificate/CertificateManager.js.map +0 -6
- package/dist/esm/certificate/CertificationDeclarationManager.d.ts +0 -11
- package/dist/esm/certificate/CertificationDeclarationManager.d.ts.map +0 -1
- package/dist/esm/certificate/CertificationDeclarationManager.js +0 -34
- package/dist/esm/certificate/CertificationDeclarationManager.js.map +0 -6
- package/src/certificate/CertificateManager.ts +0 -1176
- package/src/certificate/CertificationDeclarationManager.ts +0 -52
|
@@ -21,9 +21,9 @@ __export(DeviceCertification_exports, {
|
|
|
21
21
|
DeviceCertification: () => DeviceCertification
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(DeviceCertification_exports);
|
|
24
|
+
var import_CertificationDeclaration = require("#certificate/kinds/CertificationDeclaration.js");
|
|
24
25
|
var import_general = require("#general");
|
|
25
26
|
var import_AttestationCertificateManager = require("./AttestationCertificateManager.js");
|
|
26
|
-
var import_CertificationDeclarationManager = require("./CertificationDeclarationManager.js");
|
|
27
27
|
/**
|
|
28
28
|
* @license
|
|
29
29
|
* Copyright 2022-2025 Matter.js Authors
|
|
@@ -66,11 +66,7 @@ class DeviceCertification {
|
|
|
66
66
|
privateKey: (0, import_general.PrivateKey)(dacKeyPair.privateKey),
|
|
67
67
|
certificate: dac,
|
|
68
68
|
intermediateCertificate: await paa.getPAICert(),
|
|
69
|
-
declaration: await
|
|
70
|
-
crypto,
|
|
71
|
-
product.vendorId,
|
|
72
|
-
product.productId
|
|
73
|
-
)
|
|
69
|
+
declaration: await import_CertificationDeclaration.CertificationDeclaration.generate(crypto, product.vendorId, product.productId)
|
|
74
70
|
};
|
|
75
71
|
};
|
|
76
72
|
}
|
|
@@ -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;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,sCAAyC;AACzC,qBAAqF;AAGrF,2CAA8C;AAV9C;AAAA;AAAA;AAAA;AAAA;AAeO,MAAM,oBAAoB;AAAA,EAC7B;AAAA,EACA;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,QAAgB,QAAyC,SAA8B;AAC/F,SAAK,UAAU;AACf,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,QAAQ;AAC/E,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,yDAAyB,SAAS,QAAQ,QAAQ,UAAU,QAAQ,SAAS;AAAA,QACpG;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,KAAK,QAAQ,UAAU,YAAY,CAAC,MAAM,QAAQ,uBAAuB,CAAC;AAClG,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
|
}
|
|
@@ -5,8 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export * from "./AttestationCertificateManager.js";
|
|
7
7
|
export * from "./CertificateAuthority.js";
|
|
8
|
-
export * from "./CertificateManager.js";
|
|
9
|
-
export * from "./CertificationDeclarationManager.js";
|
|
10
8
|
export * from "./ChipPAAuthorities.js";
|
|
11
9
|
export * from "./DeviceCertification.js";
|
|
10
|
+
export * from "./kinds/AttestationCertificates.js";
|
|
11
|
+
export * from "./kinds/CertificationDeclaration.js";
|
|
12
|
+
export { CertificateError } from "./kinds/common.js";
|
|
13
|
+
export * from "./kinds/Icac.js";
|
|
14
|
+
export * from "./kinds/Noc.js";
|
|
15
|
+
export * from "./kinds/Rcac.js";
|
|
16
|
+
export * from "./kinds/X509Base.js";
|
|
12
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/certificate/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/certificate/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}
|
|
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
6
10
|
var __copyProps = (to, from, except, desc) => {
|
|
7
11
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
12
|
for (let key of __getOwnPropNames(from))
|
|
@@ -14,13 +18,21 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
14
18
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
19
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
20
|
var certificate_exports = {};
|
|
21
|
+
__export(certificate_exports, {
|
|
22
|
+
CertificateError: () => import_common.CertificateError
|
|
23
|
+
});
|
|
17
24
|
module.exports = __toCommonJS(certificate_exports);
|
|
18
25
|
__reExport(certificate_exports, require("./AttestationCertificateManager.js"), module.exports);
|
|
19
26
|
__reExport(certificate_exports, require("./CertificateAuthority.js"), module.exports);
|
|
20
|
-
__reExport(certificate_exports, require("./CertificateManager.js"), module.exports);
|
|
21
|
-
__reExport(certificate_exports, require("./CertificationDeclarationManager.js"), module.exports);
|
|
22
27
|
__reExport(certificate_exports, require("./ChipPAAuthorities.js"), module.exports);
|
|
23
28
|
__reExport(certificate_exports, require("./DeviceCertification.js"), module.exports);
|
|
29
|
+
__reExport(certificate_exports, require("./kinds/AttestationCertificates.js"), module.exports);
|
|
30
|
+
__reExport(certificate_exports, require("./kinds/CertificationDeclaration.js"), module.exports);
|
|
31
|
+
var import_common = require("./kinds/common.js");
|
|
32
|
+
__reExport(certificate_exports, require("./kinds/Icac.js"), module.exports);
|
|
33
|
+
__reExport(certificate_exports, require("./kinds/Noc.js"), module.exports);
|
|
34
|
+
__reExport(certificate_exports, require("./kinds/Rcac.js"), module.exports);
|
|
35
|
+
__reExport(certificate_exports, require("./kinds/X509Base.js"), module.exports);
|
|
24
36
|
/**
|
|
25
37
|
* @license
|
|
26
38
|
* Copyright 2022-2025 Matter.js Authors
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/certificate/index.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,gCAAc,+CANd;AAOA,gCAAc,sCAPd;AAQA,gCAAc,mCARd;AASA,gCAAc,qCATd;AAUA,gCAAc,+CAVd;AAWA,gCAAc,gDAXd;AAYA,oBAAiC;AACjC,gCAAc,4BAbd;AAcA,gCAAc,2BAdd;AAeA,gCAAc,4BAfd;AAgBA,gCAAc,gCAhBd;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Crypto } from "#general";
|
|
7
|
+
import { AttestationCertificate } from "./definitions/attestation.js";
|
|
8
|
+
import { X509Certificate } from "./definitions/base.js";
|
|
9
|
+
import { X509Base } from "./X509Base.js";
|
|
10
|
+
/**
|
|
11
|
+
* Base class for Attestation Certificates (PAA, PAI, DAC).
|
|
12
|
+
*/
|
|
13
|
+
export declare abstract class AttestationBaseCertificate<CT extends X509Certificate> extends X509Base<CT> {
|
|
14
|
+
/**
|
|
15
|
+
* Sign the certificate using the provided crypto and key.
|
|
16
|
+
* If the certificate is already signed, it throws a CertificateError.
|
|
17
|
+
*/
|
|
18
|
+
sign(crypto: Crypto, key: JsonWebKey): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Returns the signed certificate in ASN.1 DER format.
|
|
21
|
+
* If the certificate is not signed, it throws a CertificateError.
|
|
22
|
+
*/
|
|
23
|
+
asSignedAsn1(): Uint8Array<ArrayBufferLike>;
|
|
24
|
+
}
|
|
25
|
+
/** PAA (Product Attestation Authority) Certificate. */
|
|
26
|
+
export declare class Paa extends AttestationBaseCertificate<AttestationCertificate.Paa> {
|
|
27
|
+
}
|
|
28
|
+
/** PAI (Product Attestation Intermediate) Certificate. */
|
|
29
|
+
export declare class Pai extends AttestationBaseCertificate<AttestationCertificate.Pai> {
|
|
30
|
+
}
|
|
31
|
+
/** DAC (Device Attestation Certificate) Certificate. */
|
|
32
|
+
export declare class Dac extends AttestationBaseCertificate<AttestationCertificate.Dac> {
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=AttestationCertificates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttestationCertificates.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/AttestationCertificates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAgC,MAAM,UAAU,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,8BAAsB,0BAA0B,CAAC,EAAE,SAAS,eAAe,CAAE,SAAQ,QAAQ,CAAC,EAAE,CAAC;IAC7F;;;OAGG;IACY,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU;IAInD;;;OAGG;IACH,YAAY,IAAI,UAAU,CAAC,eAAe,CAAC;CAU9C;AAED,uDAAuD;AACvD,qBAAa,GAAI,SAAQ,0BAA0B,CAAC,sBAAsB,CAAC,GAAG,CAAC;CAAG;AAElF,0DAA0D;AAC1D,qBAAa,GAAI,SAAQ,0BAA0B,CAAC,sBAAsB,CAAC,GAAG,CAAC;CAAG;AAElF,wDAAwD;AACxD,qBAAa,GAAI,SAAQ,0BAA0B,CAAC,sBAAsB,CAAC,GAAG,CAAC;CAAG"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var AttestationCertificates_exports = {};
|
|
20
|
+
__export(AttestationCertificates_exports, {
|
|
21
|
+
AttestationBaseCertificate: () => AttestationBaseCertificate,
|
|
22
|
+
Dac: () => Dac,
|
|
23
|
+
Paa: () => Paa,
|
|
24
|
+
Pai: () => Pai
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(AttestationCertificates_exports);
|
|
27
|
+
var import_general = require("#general");
|
|
28
|
+
var import_common = require("./common.js");
|
|
29
|
+
var import_X509Base = require("./X509Base.js");
|
|
30
|
+
/**
|
|
31
|
+
* @license
|
|
32
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
33
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
34
|
+
*/
|
|
35
|
+
class AttestationBaseCertificate extends import_X509Base.X509Base {
|
|
36
|
+
/**
|
|
37
|
+
* Sign the certificate using the provided crypto and key.
|
|
38
|
+
* If the certificate is already signed, it throws a CertificateError.
|
|
39
|
+
*/
|
|
40
|
+
async sign(crypto, key) {
|
|
41
|
+
this.signature = await crypto.signEcdsa(key, this.asUnsignedAsn1(), "der");
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Returns the signed certificate in ASN.1 DER format.
|
|
45
|
+
* If the certificate is not signed, it throws a CertificateError.
|
|
46
|
+
*/
|
|
47
|
+
asSignedAsn1() {
|
|
48
|
+
const certificate = this.genericBuildAsn1Structure(this.cert);
|
|
49
|
+
const certBytes = import_general.DerCodec.encode({
|
|
50
|
+
certificate,
|
|
51
|
+
signAlgorithm: import_general.X962.EcdsaWithSHA256,
|
|
52
|
+
signature: (0, import_general.DerBitString)(this.signature)
|
|
53
|
+
});
|
|
54
|
+
(0, import_common.assertCertificateDerSize)(certBytes);
|
|
55
|
+
return certBytes;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
class Paa extends AttestationBaseCertificate {
|
|
59
|
+
}
|
|
60
|
+
class Pai extends AttestationBaseCertificate {
|
|
61
|
+
}
|
|
62
|
+
class Dac extends AttestationBaseCertificate {
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=AttestationCertificates.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/certificate/kinds/AttestationCertificates.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAqD;AACrD,oBAAyC;AAGzC,sBAAyB;AAVzB;AAAA;AAAA;AAAA;AAAA;AAeO,MAAe,mCAA+D,yBAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAK9F,MAAe,KAAK,QAAgB,KAAiB;AACjD,SAAK,YAAY,MAAM,OAAO,UAAU,KAAK,KAAK,eAAe,GAAG,KAAK;AAAA,EAC7E;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAA4C;AACxC,UAAM,cAAc,KAAK,0BAA0B,KAAK,IAAI;AAC5D,UAAM,YAAY,wBAAS,OAAO;AAAA,MAC9B;AAAA,MACA,eAAe,oBAAK;AAAA,MACpB,eAAW,6BAAa,KAAK,SAAS;AAAA,IAC1C,CAAC;AACD,gDAAyB,SAAS;AAClC,WAAO;AAAA,EACX;AACJ;AAGO,MAAM,YAAY,2BAAuD;AAAC;AAG1E,MAAM,YAAY,2BAAuD;AAAC;AAG1E,MAAM,YAAY,2BAAuD;AAAC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Crypto } from "#general";
|
|
7
|
+
import { TypeFromBitmapSchema, VendorId } from "#types";
|
|
8
|
+
import { CertificationDeclaration as CertificationDeclarationDef } from "./definitions/certification-declaration.js";
|
|
9
|
+
/** A Matter Certification Declaration */
|
|
10
|
+
export declare class CertificationDeclaration {
|
|
11
|
+
#private;
|
|
12
|
+
/**
|
|
13
|
+
* Generator which is the main usage for the class from outside.
|
|
14
|
+
* It constructs the class with the relevant details and returns a signed ASN.1 DER version of the CD.
|
|
15
|
+
*/
|
|
16
|
+
static generate(crypto: Crypto, vendorId: VendorId, productId: number, provisional?: boolean): Promise<Uint8Array<ArrayBufferLike>>;
|
|
17
|
+
constructor(content: TypeFromBitmapSchema<typeof CertificationDeclarationDef.TlvDc>, subjectKeyIdentifier: Uint8Array);
|
|
18
|
+
/**
|
|
19
|
+
* Returns the signed certificate in ASN.1 DER format.
|
|
20
|
+
*/
|
|
21
|
+
asSignedAsn1(crypto: Crypto, privateKey: JsonWebKey): Promise<Uint8Array<ArrayBufferLike>>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=CertificationDeclaration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CertificationDeclaration.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/CertificationDeclaration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAA6B,MAAM,EAAiD,MAAM,UAAU,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAExD,OAAO,EAAE,wBAAwB,IAAI,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAwBrH,yCAAyC;AACzC,qBAAa,wBAAwB;;IAIjC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,UAAQ;gBAoBtF,OAAO,EAAE,oBAAoB,CAAC,OAAO,2BAA2B,CAAC,KAAK,CAAC,EACvE,oBAAoB,EAAE,UAAU;IAMpC;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;CAmB5D"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var CertificationDeclaration_exports = {};
|
|
20
|
+
__export(CertificationDeclaration_exports, {
|
|
21
|
+
CertificationDeclaration: () => CertificationDeclaration
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(CertificationDeclaration_exports);
|
|
24
|
+
var import_general = require("#general");
|
|
25
|
+
var import_common = require("./common.js");
|
|
26
|
+
var import_certification_declaration = require("./definitions/certification-declaration.js");
|
|
27
|
+
/**
|
|
28
|
+
* @license
|
|
29
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
30
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
31
|
+
*/
|
|
32
|
+
const TestCMS_SignerPrivateKey = import_general.Bytes.fromHex("AEF3484116E9481EC57BE0472DF41BF499064E5024AD869ECA5E889802D48075");
|
|
33
|
+
const TestCMS_SignerSubjectKeyIdentifier = import_general.Bytes.fromHex("62FA823359ACFAA9963E1CFA140ADDF504F37160");
|
|
34
|
+
class CertificationDeclaration {
|
|
35
|
+
#eContent;
|
|
36
|
+
#subjectKeyIdentifier;
|
|
37
|
+
/**
|
|
38
|
+
* Generator which is the main usage for the class from outside.
|
|
39
|
+
* It constructs the class with the relevant details and returns a signed ASN.1 DER version of the CD.
|
|
40
|
+
*/
|
|
41
|
+
static generate(crypto, vendorId, productId, provisional = false) {
|
|
42
|
+
const cd = new CertificationDeclaration(
|
|
43
|
+
{
|
|
44
|
+
formatVersion: 1,
|
|
45
|
+
vendorId,
|
|
46
|
+
produceIdArray: [productId],
|
|
47
|
+
deviceTypeId: 22,
|
|
48
|
+
certificateId: "CSA00000SWC00000-00",
|
|
49
|
+
securityLevel: 0,
|
|
50
|
+
securityInformation: 0,
|
|
51
|
+
versionNumber: 1,
|
|
52
|
+
certificationType: provisional ? 1 : 0
|
|
53
|
+
// 0 = Test, 1 = Provisional/In certification, 2 = official
|
|
54
|
+
},
|
|
55
|
+
TestCMS_SignerSubjectKeyIdentifier
|
|
56
|
+
);
|
|
57
|
+
return cd.asSignedAsn1(crypto, (0, import_general.PrivateKey)(TestCMS_SignerPrivateKey));
|
|
58
|
+
}
|
|
59
|
+
constructor(content, subjectKeyIdentifier) {
|
|
60
|
+
this.#eContent = import_certification_declaration.CertificationDeclaration.TlvDc.encode(content);
|
|
61
|
+
this.#subjectKeyIdentifier = subjectKeyIdentifier;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Returns the signed certificate in ASN.1 DER format.
|
|
65
|
+
*/
|
|
66
|
+
async asSignedAsn1(crypto, privateKey) {
|
|
67
|
+
const cert = {
|
|
68
|
+
version: 3,
|
|
69
|
+
digestAlgorithm: [import_general.SHA256_CMS],
|
|
70
|
+
encapContentInfo: import_general.Pkcs7.Data(this.#eContent),
|
|
71
|
+
signerInfo: [
|
|
72
|
+
{
|
|
73
|
+
version: 3,
|
|
74
|
+
subjectKeyIdentifier: (0, import_general.ContextTaggedBytes)(0, this.#subjectKeyIdentifier),
|
|
75
|
+
digestAlgorithm: import_general.SHA256_CMS,
|
|
76
|
+
signatureAlgorithm: import_general.X962.EcdsaWithSHA256,
|
|
77
|
+
signature: await crypto.signEcdsa(privateKey, this.#eContent, "der")
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
};
|
|
81
|
+
const certBytes = import_general.DerCodec.encode(import_general.Pkcs7.SignedData(cert));
|
|
82
|
+
(0, import_common.assertCertificateDerSize)(certBytes);
|
|
83
|
+
return certBytes;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=CertificationDeclaration.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/certificate/kinds/CertificationDeclaration.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,qBAAiG;AAEjG,oBAAyC;AACzC,uCAAwE;AARxE;AAAA;AAAA;AAAA;AAAA;AAsBA,MAAM,2BAA2B,qBAAM,QAAQ,kEAAkE;AAQjH,MAAM,qCAAqC,qBAAM,QAAQ,0CAA0C;AAG5F,MAAM,yBAAyB;AAAA,EAClC;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,SAAS,QAAgB,UAAoB,WAAmB,cAAc,OAAO;AACxF,UAAM,KAAK,IAAI;AAAA,MACX;AAAA,QACI,eAAe;AAAA,QACf;AAAA,QACA,gBAAgB,CAAC,SAAS;AAAA,QAC1B,cAAc;AAAA,QACd,eAAe;AAAA,QACf,eAAe;AAAA,QACf,qBAAqB;AAAA,QACrB,eAAe;AAAA,QACf,mBAAmB,cAAc,IAAI;AAAA;AAAA,MACzC;AAAA,MACA;AAAA,IACJ;AAEA,WAAO,GAAG,aAAa,YAAQ,2BAAW,wBAAwB,CAAC;AAAA,EACvE;AAAA,EAEA,YACI,SACA,sBACF;AACE,SAAK,YAAY,iCAAAA,yBAA4B,MAAM,OAAO,OAAO;AACjE,SAAK,wBAAwB;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,aAAa,QAAgB,YAAwB;AACvD,UAAM,OAAO;AAAA,MACT,SAAS;AAAA,MACT,iBAAiB,CAAC,yBAAU;AAAA,MAC5B,kBAAkB,qBAAM,KAAK,KAAK,SAAS;AAAA,MAC3C,YAAY;AAAA,QACR;AAAA,UACI,SAAS;AAAA,UACT,0BAAsB,mCAAmB,GAAG,KAAK,qBAAqB;AAAA,UACtE,iBAAiB;AAAA,UACjB,oBAAoB,oBAAK;AAAA,UACzB,WAAW,MAAM,OAAO,UAAU,YAAY,KAAK,WAAW,KAAK;AAAA,QACvE;AAAA,MACJ;AAAA,IACJ;AACA,UAAM,YAAY,wBAAS,OAAO,qBAAM,WAAW,IAAI,CAAC;AACxD,gDAAyB,SAAS;AAClC,WAAO;AAAA,EACX;AACJ;",
|
|
5
|
+
"names": ["CertificationDeclarationDef"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Crypto } from "#general";
|
|
7
|
+
import { OperationalCertificate } from "./definitions/operational.js";
|
|
8
|
+
import { OperationalBase } from "./OperationalBase.js";
|
|
9
|
+
import { Rcac } from "./Rcac.js";
|
|
10
|
+
/**
|
|
11
|
+
* Represents an Intermediate Certificate
|
|
12
|
+
*/
|
|
13
|
+
export declare class Icac extends OperationalBase<OperationalCertificate.Icac> {
|
|
14
|
+
/** Construct the class from a Tlv version of the certificate */
|
|
15
|
+
static fromTlv(tlv: Uint8Array): Icac;
|
|
16
|
+
/** Validates all basic certificate fields on construction. */
|
|
17
|
+
protected validateFields(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Encodes the certificate with the signature as Matter Tlv.
|
|
20
|
+
* If the certificate is not signed, it throws a CertificateError.
|
|
21
|
+
*/
|
|
22
|
+
asSignedTlv(): Uint8Array<ArrayBufferLike>;
|
|
23
|
+
/**
|
|
24
|
+
* Verify requirements a Matter Intermediate CA certificate must fulfill.
|
|
25
|
+
* Rules for this are listed in @see {@link MatterSpecification.v12.Core} §6.5.x
|
|
26
|
+
*/
|
|
27
|
+
verify(crypto: Crypto, root: Rcac): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=Icac.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icac.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/Icac.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,MAAM,EAAyB,MAAM,UAAU,CAAC;AAIhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;GAEG;AACH,qBAAa,IAAK,SAAQ,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC;IAClE,gEAAgE;IAChE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAIrC,8DAA8D;IAC9D,SAAS,CAAC,cAAc;IAWxB;;;OAGG;IACH,WAAW;IAIX;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;CA4G1C"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var Icac_exports = {};
|
|
20
|
+
__export(Icac_exports, {
|
|
21
|
+
Icac: () => Icac
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(Icac_exports);
|
|
24
|
+
var import_general = require("#general");
|
|
25
|
+
var import_types = require("#types");
|
|
26
|
+
var import_common = require("./common.js");
|
|
27
|
+
var import_base = require("./definitions/base.js");
|
|
28
|
+
var import_operational = require("./definitions/operational.js");
|
|
29
|
+
var import_OperationalBase = require("./OperationalBase.js");
|
|
30
|
+
/**
|
|
31
|
+
* @license
|
|
32
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
33
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
34
|
+
*/
|
|
35
|
+
class Icac extends import_OperationalBase.OperationalBase {
|
|
36
|
+
/** Construct the class from a Tlv version of the certificate */
|
|
37
|
+
static fromTlv(tlv) {
|
|
38
|
+
return new Icac(import_operational.OperationalCertificate.TlvIcac.decode(tlv));
|
|
39
|
+
}
|
|
40
|
+
/** Validates all basic certificate fields on construction. */
|
|
41
|
+
validateFields() {
|
|
42
|
+
const {
|
|
43
|
+
extensions: {
|
|
44
|
+
basicConstraints: { isCa }
|
|
45
|
+
}
|
|
46
|
+
} = this.cert;
|
|
47
|
+
if (!isCa) {
|
|
48
|
+
throw new import_common.CertificateError("Intermediate certificate must be a CA.");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Encodes the certificate with the signature as Matter Tlv.
|
|
53
|
+
* If the certificate is not signed, it throws a CertificateError.
|
|
54
|
+
*/
|
|
55
|
+
asSignedTlv() {
|
|
56
|
+
return import_operational.OperationalCertificate.TlvIcac.encode({ ...this.cert, signature: this.signature });
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Verify requirements a Matter Intermediate CA certificate must fulfill.
|
|
60
|
+
* Rules for this are listed in @see {@link MatterSpecification.v12.Core} §6.5.x
|
|
61
|
+
*/
|
|
62
|
+
async verify(crypto, root) {
|
|
63
|
+
this.generalVerify();
|
|
64
|
+
const {
|
|
65
|
+
subject,
|
|
66
|
+
issuer: { rcacId },
|
|
67
|
+
extensions
|
|
68
|
+
} = this.cert;
|
|
69
|
+
const { fabricId, icacId } = subject;
|
|
70
|
+
const { basicConstraints, extendedKeyUsage, subjectKeyIdentifier, authorityKeyIdentifier } = extensions;
|
|
71
|
+
const { fabricId: rootFabricId } = root.cert.subject;
|
|
72
|
+
if ("nodeId" in subject) {
|
|
73
|
+
throw new import_common.CertificateError(`Ica certificate must not contain a nodeId.`);
|
|
74
|
+
}
|
|
75
|
+
if (fabricId !== void 0) {
|
|
76
|
+
if (Array.isArray(fabricId)) {
|
|
77
|
+
throw new import_common.CertificateError(`Invalid fabricId in NoC certificate: ${import_general.Diagnostic.json(fabricId)}`);
|
|
78
|
+
}
|
|
79
|
+
if (fabricId === (0, import_types.FabricId)(0)) {
|
|
80
|
+
throw new import_common.CertificateError(`Invalid fabricId in NoC certificate: ${import_general.Diagnostic.json(fabricId)}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (icacId === void 0 || Array.isArray(icacId)) {
|
|
84
|
+
throw new import_common.CertificateError(`Invalid icacId in Ica certificate: ${import_general.Diagnostic.json(icacId)}`);
|
|
85
|
+
}
|
|
86
|
+
if ("rcacId" in subject) {
|
|
87
|
+
throw new import_common.CertificateError(`Ica certificate must not contain an rcacId.`);
|
|
88
|
+
}
|
|
89
|
+
if ("caseAuthenticatedTags" in subject) {
|
|
90
|
+
throw new import_common.CertificateError(`Ica certificate must not contain a caseAuthenticatedTags.`);
|
|
91
|
+
}
|
|
92
|
+
if (rootFabricId !== void 0 && fabricId !== void 0 && rootFabricId !== fabricId) {
|
|
93
|
+
throw new import_common.CertificateError(
|
|
94
|
+
`FabricId in Ica certificate does not match the fabricId in the parent certificate. ${import_general.Diagnostic.json(
|
|
95
|
+
rootFabricId
|
|
96
|
+
)} !== ${import_general.Diagnostic.json(fabricId)}`
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
if (root.cert.subject.rcacId !== rcacId) {
|
|
100
|
+
throw new import_common.CertificateError(
|
|
101
|
+
`RcacId in Ica certificate does not match the rcacId in the parent certificate. ${import_general.Diagnostic.json(
|
|
102
|
+
root.cert.subject.rcacId
|
|
103
|
+
)} !== ${import_general.Diagnostic.json(rcacId)}`
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
if (!basicConstraints.isCa) {
|
|
107
|
+
throw new import_common.CertificateError(`Ica certificate must have isCa set to true.`);
|
|
108
|
+
}
|
|
109
|
+
const keyUsage = import_base.ExtensionKeyUsageSchema.encode(extensions.keyUsage);
|
|
110
|
+
if (keyUsage !== 96 && keyUsage !== 97) {
|
|
111
|
+
throw new import_common.CertificateError(
|
|
112
|
+
`Ica certificate keyUsage must have keyCertSign and CRLSign and optionally digitalSignature set.`
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
if (extendedKeyUsage !== void 0) {
|
|
116
|
+
throw new import_common.CertificateError(`Ica certificate must not have extendedKeyUsage set.`);
|
|
117
|
+
}
|
|
118
|
+
if (subjectKeyIdentifier === void 0) {
|
|
119
|
+
throw new import_common.CertificateError(`Ica certificate must have subjectKeyIdentifier set.`);
|
|
120
|
+
}
|
|
121
|
+
if (subjectKeyIdentifier.length !== 20) {
|
|
122
|
+
throw new import_common.CertificateError(`Ica certificate subjectKeyIdentifier must be 160 bit.`);
|
|
123
|
+
}
|
|
124
|
+
if (authorityKeyIdentifier === void 0) {
|
|
125
|
+
throw new import_common.CertificateError(`Ica certificate must have authorityKeyIdentifier set.`);
|
|
126
|
+
}
|
|
127
|
+
if (authorityKeyIdentifier.length !== 20) {
|
|
128
|
+
throw new import_common.CertificateError(`Ica certificate authorityKeyIdentifier must be 160 bit.`);
|
|
129
|
+
}
|
|
130
|
+
if (!import_general.Bytes.areEqual(authorityKeyIdentifier, root.cert.extensions.subjectKeyIdentifier)) {
|
|
131
|
+
throw new import_common.CertificateError(
|
|
132
|
+
`Ica certificate authorityKeyIdentifier must be equal to root cert subjectKeyIdentifier.`
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
await crypto.verifyEcdsa((0, import_general.PublicKey)(root.cert.ellipticCurvePublicKey), this.asUnsignedAsn1(), this.signature);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=Icac.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/certificate/kinds/Icac.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Crypto } from "#general";
|
|
7
|
+
import { OperationalCertificate } from "./definitions/operational.js";
|
|
8
|
+
import { Icac } from "./Icac.js";
|
|
9
|
+
import { OperationalBase } from "./OperationalBase.js";
|
|
10
|
+
import { Rcac } from "./Rcac.js";
|
|
11
|
+
export declare class Noc extends OperationalBase<OperationalCertificate.Noc> {
|
|
12
|
+
/** Construct the class from a Tlv version of the certificate */
|
|
13
|
+
static fromTlv(tlv: Uint8Array): Noc;
|
|
14
|
+
/** Validates all basic certificate fields on construction. */
|
|
15
|
+
protected validateFields(): void;
|
|
16
|
+
/**
|
|
17
|
+
* Encodes the certificate with the signature as Matter Tlv.
|
|
18
|
+
* If the certificate is not signed, it throws a CertificateError.
|
|
19
|
+
*/
|
|
20
|
+
asSignedTlv(): Uint8Array<ArrayBufferLike>;
|
|
21
|
+
/**
|
|
22
|
+
* Verify requirements a Matter Node Operational certificate must fulfill.
|
|
23
|
+
* Rules for this are listed in @see {@link MatterSpecification.v12.Core} §6.5.x
|
|
24
|
+
*/
|
|
25
|
+
verify(crypto: Crypto, root: Rcac, ica?: Icac): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=Noc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Noc.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/Noc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,MAAM,EAAyB,MAAM,UAAU,CAAC;AAGhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,qBAAa,GAAI,SAAQ,eAAe,CAAC,sBAAsB,CAAC,GAAG,CAAC;IAChE,gEAAgE;IAChE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU;IAI9B,8DAA8D;IAC9D,SAAS,CAAC,cAAc;IAexB;;;OAGG;IACH,WAAW;IAIX;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI;CAmHtD"}
|