Skip to content

Commit

Permalink
Generated using ./scripts/tools/zap_regen_all.py
Browse files Browse the repository at this point in the history
  • Loading branch information
gmarcosb committed Nov 7, 2024
1 parent a8aabca commit f0f8c9e
Show file tree
Hide file tree
Showing 58 changed files with 19,662 additions and 0 deletions.
2 changes: 2 additions & 0 deletions docs/ids_and_codes/zap_clusters.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,8 @@ Generally regenerate using one of:
| 1366 | 0x556 | Chime |
| 1872 | 0x750 | EcosystemInformation |
| 1873 | 0x751 | CommissionerControl |
| 2049 | 0x801 | TlsCertificateManagement |
| 2050 | 0x802 | TlsClientManagement |
| 4294048773 | 0xFFF1FC05 | UnitTesting |
| 4294048774 | 0xFFF1FC06 | FaultInjection |
| 4294048800 | 0xFFF1FC20 | SampleMei |
183 changes: 183 additions & 0 deletions src/controller/data_model/controller-clusters.matter
Original file line number Diff line number Diff line change
Expand Up @@ -10176,6 +10176,189 @@ cluster CommissionerControl = 1873 {
command access(invoke: manage) CommissionNode(CommissionNodeRequest): ReverseOpenCommissioningWindow = 1;
}

/** This Cluster is used to manage TLS Client Certificates and to provision
TLS endpoints with enough information to facilitate subsequent connection. */
cluster TlsCertificateManagement = 2049 {
revision 1;

struct TLSCertStruct {
int16u caid = 0;
long_octet_string<3000> certificate = 1;
}

struct TLSClientCertificateDetailStruct {
int16u ccdid = 0;
long_octet_string<3000> clientCertificate = 1;
octet_string intermediateCerts[] = 2;
}

readonly attribute int8u maxRootCertificates = 0;
readonly attribute int8u currentRootCertificates = 1;
readonly attribute int8u maxClientCertificates = 2;
readonly attribute int8u currentClientCertificates = 3;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;

request struct ProvisionRootCertificateRequest {
long_octet_string<3000> certificate = 0;
optional nullable int16u caid = 1;
}

response struct ProvisionRootCertificateResponse = 1 {
int16u caid = 0;
}

request struct FindRootCertificateRequest {
optional nullable int16u caid = 0;
}

response struct FindRootCertificateResponse = 3 {
TLSCertStruct certificateDetails[] = 0;
}

request struct LookupRootCertificateRequest {
octet_string<64> fingerprint = 0;
}

response struct LookupRootCertificateResponse = 5 {
int16u caid = 0;
}

request struct RemoveRootCertificateRequest {
int16u caid = 0;
}

request struct TLSClientCSRRequest {
octet_string nonce = 0;
}

response struct TLSClientCSRResponse = 8 {
int16u ccdid = 0;
octet_string csr = 1;
octet_string nonce = 2;
}

request struct ProvisionClientCertificateRequest {
int16u ccdid = 0;
TLSClientCertificateDetailStruct clientCertificateDetails = 1;
}

response struct ProvisionClientCertificateResponse = 10 {
int16u ccdid = 0;
}

request struct FindClientCertificateRequest {
int16u ccdid = 0;
}

response struct FindClientCertificateResponse = 12 {
TLSClientCertificateDetailStruct certificateDetails[] = 0;
}

request struct LookupClientCertificateRequest {
octet_string<64> fingerprint = 0;
}

response struct LookupClientCertificateResponse = 14 {
int16u ccdid = 0;
}

request struct RemoveClientCertificateRequest {
int16u ccdid = 0;
}

/** This command SHALL provision the provided certificate for the passed in CAID. */
command access(invoke: administer) ProvisionRootCertificate(ProvisionRootCertificateRequest): ProvisionRootCertificateResponse = 0;
/** This command SHALL return the TLSCertStruct for the passed in CAID. */
command FindRootCertificate(FindRootCertificateRequest): FindRootCertificateResponse = 2;
/** This command SHALL return the CAID for the passed in fingerprint. */
command LookupRootCertificate(LookupRootCertificateRequest): LookupRootCertificateResponse = 4;
/** This command SHALL be generated to request the server removes the certificate provisioned to the provided Certificate Authority ID. */
command access(invoke: administer) RemoveRootCertificate(RemoveRootCertificateRequest): DefaultSuccess = 6;
/** This command SHALL be generated to request the Node generates a Certificate Signing Request. */
command access(invoke: administer) TLSClientCSR(TLSClientCSRRequest): TLSClientCSRResponse = 7;
/** This command SHALL be generated to request the Node provisions the provided Client Certificate Details. */
command access(invoke: administer) ProvisionClientCertificate(ProvisionClientCertificateRequest): ProvisionClientCertificateResponse = 9;
/** This command SHALL return the TLSClientCertificateDetailStruct for the passed in CCDID. */
command FindClientCertificate(FindClientCertificateRequest): FindClientCertificateResponse = 11;
/** This command SHALL return the CCDID for the passed in Fingerprint. */
command LookupClientCertificate(LookupClientCertificateRequest): LookupClientCertificateResponse = 13;
/** This command SHALL be generated to request the Node removes the certificate provisioned to the provided Client Certificate Details ID. */
command access(invoke: administer) RemoveClientCertificate(RemoveClientCertificateRequest): DefaultSuccess = 15;
}

/** This Cluster is used to provision TLS Endpoints with enough information to facilitate subsequent connection. */
cluster TlsClientManagement = 2050 {
revision 1;

enum TLSEndpointStatusEnum : enum8 {
kProvisioned = 0;
kInUse = 1;
}

struct TLSEndpointStruct {
int16u endpointID = 0;
octet_string hostname = 1;
int16u port = 2;
int16u caid = 3;
optional nullable int16u ccdid = 4;
TLSEndpointStatusEnum status = 5;
}

info event EndpointProvisioned = 0 {
int16u endpointID = 0;
}

info event EndpointRemoved = 1 {
}

readonly attribute int8u maxProvisioned = 0;
readonly attribute int8u currentProvisioned = 1;
readonly attribute int8u maxInUse = 2;
readonly attribute int8u currentInUse = 3;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;

request struct ProvisionEndpointRequest {
octet_string hostname = 0;
int16u port = 1;
int16u caid = 2;
optional nullable int16u ccdid = 3;
optional nullable int16u endpointID = 4;
}

response struct ProvisionEndpointResponse = 1 {
int16u endpointID = 0;
}

request struct FindEndpointRequest {
optional nullable int16u endpointID = 0;
}

response struct FindEndpointResponse = 3 {
TLSEndpointStruct endpoints[] = 0;
}

request struct RemoveEndpointRequest {
int16u endpointID = 0;
}

/** This command SHALL provision a TLS Endpoint for the provided HostName / Port combination. */
command access(invoke: administer) ProvisionEndpoint(ProvisionEndpointRequest): ProvisionEndpointResponse = 0;
/** This command SHALL return the TLS Endpoint details for the passed in EndpointID. */
command FindEndpoint(FindEndpointRequest): FindEndpointResponse = 2;
/** This command SHALL be generated to request the Node terminates the TLS Connection. */
command access(invoke: administer) RemoveEndpoint(RemoveEndpointRequest): DefaultSuccess = 4;
}

/** The Test Cluster is meant to validate the generated code */
internal cluster UnitTesting = 4294048773 {
revision 1; // NOTE: Default/not specifically set
Expand Down
Loading

0 comments on commit f0f8c9e

Please sign in to comment.