Skip to content

Commit cadc94d

Browse files
committed
Generated using ./scripts/tools/zap_regen_all.py
1 parent d7d68a8 commit cadc94d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+16543
-0
lines changed

docs/ids_and_codes/zap_clusters.md

+2
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,8 @@ Generally regenerate using one of:
136136
| 1366 | 0x556 | Chime |
137137
| 1872 | 0x750 | EcosystemInformation |
138138
| 1873 | 0x751 | CommissionerControl |
139+
| 2049 | 0x801 | TlsCertificateManagement |
140+
| 2050 | 0x802 | TlsClientManagement |
139141
| 4294048773 | 0xFFF1FC05 | UnitTesting |
140142
| 4294048774 | 0xFFF1FC06 | FaultInjection |
141143
| 4294048800 | 0xFFF1FC20 | SampleMei |

src/controller/data_model/controller-clusters.matter

+183
Original file line numberDiff line numberDiff line change
@@ -10176,6 +10176,189 @@ cluster CommissionerControl = 1873 {
1017610176
command access(invoke: manage) CommissionNode(CommissionNodeRequest): ReverseOpenCommissioningWindow = 1;
1017710177
}
1017810178

10179+
/** This Cluster is used to manage TLS Client Certificates and to provision
10180+
TLS endpoints with enough information to facilitate subsequent connection. */
10181+
cluster TlsCertificateManagement = 2049 {
10182+
revision 1;
10183+
10184+
struct TLSCertStruct {
10185+
int16u caid = 0;
10186+
long_octet_string<3000> certificate = 1;
10187+
}
10188+
10189+
struct TLSClientCertificateDetailStruct {
10190+
int16u ccdid = 0;
10191+
long_octet_string<3000> clientCertificate = 1;
10192+
octet_string intermediateCerts[] = 2;
10193+
}
10194+
10195+
readonly attribute int8u maxRootCertificates = 0;
10196+
readonly attribute int8u currentRootCertificates = 1;
10197+
readonly attribute int8u maxClientCertificates = 2;
10198+
readonly attribute int8u currentClientCertificates = 3;
10199+
readonly attribute command_id generatedCommandList[] = 65528;
10200+
readonly attribute command_id acceptedCommandList[] = 65529;
10201+
readonly attribute event_id eventList[] = 65530;
10202+
readonly attribute attrib_id attributeList[] = 65531;
10203+
readonly attribute bitmap32 featureMap = 65532;
10204+
readonly attribute int16u clusterRevision = 65533;
10205+
10206+
request struct ProvisionRootCertificateRequest {
10207+
long_octet_string<3000> certificate = 0;
10208+
optional nullable int16u caid = 1;
10209+
}
10210+
10211+
response struct ProvisionRootCertificateResponse = 1 {
10212+
int16u caid = 0;
10213+
}
10214+
10215+
request struct FindRootCertificateRequest {
10216+
optional nullable int16u caid = 0;
10217+
}
10218+
10219+
response struct FindRootCertificateResponse = 3 {
10220+
TLSCertStruct certificateDetails[] = 0;
10221+
}
10222+
10223+
request struct LookupRootCertificateRequest {
10224+
octet_string<64> fingerprint = 0;
10225+
}
10226+
10227+
response struct LookupRootCertificateResponse = 5 {
10228+
int16u caid = 0;
10229+
}
10230+
10231+
request struct RemoveRootCertificateRequest {
10232+
int16u caid = 0;
10233+
}
10234+
10235+
request struct TLSClientCSRRequest {
10236+
octet_string nonce = 0;
10237+
}
10238+
10239+
response struct TLSClientCSRResponse = 8 {
10240+
int16u ccdid = 0;
10241+
octet_string csr = 1;
10242+
octet_string nonce = 2;
10243+
}
10244+
10245+
request struct ProvisionClientCertificateRequest {
10246+
int16u ccdid = 0;
10247+
TLSClientCertificateDetailStruct clientCertificateDetails = 1;
10248+
}
10249+
10250+
response struct ProvisionClientCertificateResponse = 10 {
10251+
int16u ccdid = 0;
10252+
}
10253+
10254+
request struct FindClientCertificateRequest {
10255+
int16u ccdid = 0;
10256+
}
10257+
10258+
response struct FindClientCertificateResponse = 12 {
10259+
TLSClientCertificateDetailStruct certificateDetails[] = 0;
10260+
}
10261+
10262+
request struct LookupClientCertificateRequest {
10263+
octet_string<64> fingerprint = 0;
10264+
}
10265+
10266+
response struct LookupClientCertificateResponse = 14 {
10267+
int16u ccdid = 0;
10268+
}
10269+
10270+
request struct RemoveClientCertificateRequest {
10271+
int16u ccdid = 0;
10272+
}
10273+
10274+
/** This command SHALL provision the provided certificate for the passed in CAID. */
10275+
command access(invoke: administer) ProvisionRootCertificate(ProvisionRootCertificateRequest): ProvisionRootCertificateResponse = 0;
10276+
/** This command SHALL return the TLSCertStruct for the passed in CAID. */
10277+
command FindRootCertificate(FindRootCertificateRequest): FindRootCertificateResponse = 2;
10278+
/** This command SHALL return the CAID for the passed in fingerprint. */
10279+
command LookupRootCertificate(LookupRootCertificateRequest): LookupRootCertificateResponse = 4;
10280+
/** This command SHALL be generated to request the server removes the certificate provisioned to the provided Certificate Authority ID. */
10281+
command access(invoke: administer) RemoveRootCertificate(RemoveRootCertificateRequest): DefaultSuccess = 6;
10282+
/** This command SHALL be generated to request the Node generates a Certificate Signing Request. */
10283+
command access(invoke: administer) TLSClientCSR(TLSClientCSRRequest): TLSClientCSRResponse = 7;
10284+
/** This command SHALL be generated to request the Node provisions the provided Client Certificate Details. */
10285+
command access(invoke: administer) ProvisionClientCertificate(ProvisionClientCertificateRequest): ProvisionClientCertificateResponse = 9;
10286+
/** This command SHALL return the TLSClientCertificateDetailStruct for the passed in CCDID. */
10287+
command FindClientCertificate(FindClientCertificateRequest): FindClientCertificateResponse = 11;
10288+
/** This command SHALL return the CCDID for the passed in Fingerprint. */
10289+
command LookupClientCertificate(LookupClientCertificateRequest): LookupClientCertificateResponse = 13;
10290+
/** This command SHALL be generated to request the Node removes the certificate provisioned to the provided Client Certificate Details ID. */
10291+
command access(invoke: administer) RemoveClientCertificate(RemoveClientCertificateRequest): DefaultSuccess = 15;
10292+
}
10293+
10294+
/** This Cluster is used to provision TLS Endpoints with enough information to facilitate subsequent connection. */
10295+
cluster TlsClientManagement = 2050 {
10296+
revision 1;
10297+
10298+
enum TLSEndpointStatusEnum : enum8 {
10299+
kProvisioned = 0;
10300+
kInUse = 1;
10301+
}
10302+
10303+
struct TLSEndpointStruct {
10304+
int16u endpointID = 0;
10305+
octet_string hostname = 1;
10306+
int16u port = 2;
10307+
int16u caid = 3;
10308+
optional nullable int16u ccdid = 4;
10309+
TLSEndpointStatusEnum status = 5;
10310+
}
10311+
10312+
info event EndpointProvisioned = 0 {
10313+
int16u endpointID = 0;
10314+
}
10315+
10316+
info event EndpointRemoved = 1 {
10317+
}
10318+
10319+
readonly attribute int8u maxProvisioned = 0;
10320+
readonly attribute int8u currentProvisioned = 1;
10321+
readonly attribute int8u maxInUse = 2;
10322+
readonly attribute int8u currentInUse = 3;
10323+
readonly attribute command_id generatedCommandList[] = 65528;
10324+
readonly attribute command_id acceptedCommandList[] = 65529;
10325+
readonly attribute event_id eventList[] = 65530;
10326+
readonly attribute attrib_id attributeList[] = 65531;
10327+
readonly attribute bitmap32 featureMap = 65532;
10328+
readonly attribute int16u clusterRevision = 65533;
10329+
10330+
request struct ProvisionEndpointRequest {
10331+
octet_string hostname = 0;
10332+
int16u port = 1;
10333+
int16u caid = 2;
10334+
optional nullable int16u ccdid = 3;
10335+
optional nullable int16u endpointID = 4;
10336+
}
10337+
10338+
response struct ProvisionEndpointResponse = 1 {
10339+
int16u endpointID = 0;
10340+
}
10341+
10342+
request struct FindEndpointRequest {
10343+
optional nullable int16u endpointID = 0;
10344+
}
10345+
10346+
response struct FindEndpointResponse = 3 {
10347+
TLSEndpointStruct endpoints[] = 0;
10348+
}
10349+
10350+
request struct RemoveEndpointRequest {
10351+
int16u endpointID = 0;
10352+
}
10353+
10354+
/** This command SHALL provision a TLS Endpoint for the provided HostName / Port combination. */
10355+
command access(invoke: administer) ProvisionEndpoint(ProvisionEndpointRequest): ProvisionEndpointResponse = 0;
10356+
/** This command SHALL return the TLS Endpoint details for the passed in EndpointID. */
10357+
command FindEndpoint(FindEndpointRequest): FindEndpointResponse = 2;
10358+
/** This command SHALL be generated to request the Node terminates the TLS Connection. */
10359+
command access(invoke: administer) RemoveEndpoint(RemoveEndpointRequest): DefaultSuccess = 4;
10360+
}
10361+
1017910362
/** The Test Cluster is meant to validate the generated code */
1018010363
internal cluster UnitTesting = 4294048773 {
1018110364
revision 1; // NOTE: Default/not specifically set

0 commit comments

Comments
 (0)