Skip to content

Commit 9ad0b95

Browse files
authored
Merge pull request #557 from zigbee-alliance/#531-Publish-PAI-certificates-for-CRLSignerCertificate-verification
#531 Publish pai certificates for crl signer certificate verification
2 parents 1933bad + b9c12cf commit 9ad0b95

33 files changed

+1162
-265
lines changed

docs/static/openapi.yml

+16
Original file line numberDiff line numberDiff line change
@@ -10705,6 +10705,8 @@ paths:
1070510705
schemaVersion:
1070610706
type: integer
1070710707
format: int64
10708+
crlSignerDelegator:
10709+
type: string
1070810710
pagination:
1070910711
type: object
1071010712
properties:
@@ -10863,6 +10865,8 @@ paths:
1086310865
schemaVersion:
1086410866
type: integer
1086510867
format: int64
10868+
crlSignerDelegator:
10869+
type: string
1086610870
default:
1086710871
description: An unexpected error response.
1086810872
schema:
@@ -10935,6 +10939,8 @@ paths:
1093510939
schemaVersion:
1093610940
type: integer
1093710941
format: int64
10942+
crlSignerDelegator:
10943+
type: string
1093810944
default:
1093910945
description: An unexpected error response.
1094010946
schema:
@@ -21841,6 +21847,8 @@ definitions:
2184121847
schemaVersion:
2184221848
type: integer
2184321849
format: int64
21850+
crlSignerDelegator:
21851+
type: string
2184421852
zigbeealliance.distributedcomplianceledger.pki.PkiRevocationDistributionPointsByIssuerSubjectKeyID:
2184521853
type: object
2184621854
properties:
@@ -21881,6 +21889,8 @@ definitions:
2188121889
schemaVersion:
2188221890
type: integer
2188321891
format: int64
21892+
crlSignerDelegator:
21893+
type: string
2188421894
zigbeealliance.distributedcomplianceledger.pki.ProposedCertificate:
2188521895
type: object
2188621896
properties:
@@ -22284,6 +22294,8 @@ definitions:
2228422294
schemaVersion:
2228522295
type: integer
2228622296
format: int64
22297+
crlSignerDelegator:
22298+
type: string
2228722299
pagination:
2228822300
type: object
2228922301
properties:
@@ -23029,6 +23041,8 @@ definitions:
2302923041
schemaVersion:
2303023042
type: integer
2303123043
format: int64
23044+
crlSignerDelegator:
23045+
type: string
2303223046
zigbeealliance.distributedcomplianceledger.pki.QueryGetPkiRevocationDistributionPointsByIssuerSubjectKeyIDResponse:
2303323047
type: object
2303423048
properties:
@@ -23072,6 +23086,8 @@ definitions:
2307223086
schemaVersion:
2307323087
type: integer
2307423088
format: int64
23089+
crlSignerDelegator:
23090+
type: string
2307523091
zigbeealliance.distributedcomplianceledger.pki.QueryGetProposedCertificateResponse:
2307623092
type: object
2307723093
properties:

docs/transactions.md

+7-5
Original file line numberDiff line numberDiff line change
@@ -1007,7 +1007,7 @@ Publishes a PKI Revocation distribution endpoint (such as RFC5280 Certificate Re
10071007

10081008
If `crlSignerCertificate` is a PAA (root certificate), then it must be present on DCL.
10091009

1010-
If `crlSignerCertificate` is a PAI (intermediate certificate), then it must be chained back to a valid PAA (root certificate) present on DCL.
1010+
If `crlSignerCertificate` is a PAI (intermediate certificate) or delegated by PAA, then it must be chained back to a valid PAA (root certificate) present on DCL.
10111011
In this case `crlSignerCertificate` is not required to be present on DCL, and will not be added to DCL as a result of this transaction.
10121012
If PAI needs to be added to DCL, it should be done via [ADD_PAI](#add_pai) transaction.
10131013

@@ -1024,7 +1024,8 @@ and DACs (leaf certificates) added to DCL if they are revoked in the CRL identif
10241024
- pid: `optional(uint16)` - Product ID (positive non-zero). Must be empty if `IsPAA` is true. Must be equal to a `pid` field in `CRLSignerCertificate`.
10251025
- isPAA: `bool` - True if the revocation information distribution point relates to a PAA
10261026
- label: `string` - A label to disambiguate multiple revocation information partitions of a particular issuer.
1027-
- crlSignerCertificate: `string` - The issuer certificate whose revocation information is provided in the distribution point entry, encoded in X.509v3 PEM format. The corresponding CLI parameter can contain either a PEM string or a path to a file containing the data.
1027+
- crlSignerCertificate: `string` - The issuer certificate whose revocation information is provided in the distribution point entry, encoded in X.509v3 PEM format. The corresponding CLI parameter can contain either a PEM string or a path to a file containing the data. Please note that if crlSignerCertificate is a delegated certificate by a PAI, the delegator certificate must be provided using the `crlSignerDelegator` field.
1028+
- crlSignerDelegator: `optional(string)` - If crlSignerCertificate is a delegated certificate by a PAI, then crlSignerDelegator must contain the delegator PAI certificate which must be chained back to an approved certificate in the ledger, encoded in X.509v3 PEM format. Otherwise this field can be omitted. The corresponding CLI parameter can contain either a PEM string or a path to a file containing the data.
10281029
- issuerSubjectKeyID: `string` - Uniquely identifies the PAA or PAI for which this revocation distribution point is provided. Must consist of even number of uppercase hexadecimal characters ([0-9A-F]), with no whitespace and no non-hexadecimal characters., e.g: `5A880E6C3653D07FB08971A3F473790930E62BDB`.
10291030
- dataUrl: `string` - The URL where to obtain the information in the format indicated by the RevocationType field. Must start with either `http` or `https`. Must be unique for all pairs of VendorID and IssuerSubjectKeyID.
10301031
- dataFileSize: `optional(uint64)` - Total size in bytes of the file found at the DataUrl. Must be omitted if RevocationType is 1.
@@ -1037,7 +1038,7 @@ and DACs (leaf certificates) added to DCL if they are revoked in the CRL identif
10371038
- `pki/RevocationDistributionPoint/value/<IssuerSubjectKeyID>/<vid>/<label>`-> Revocation Distribution Point
10381039
- CLI command:
10391040
- `dcld tx pki add-revocation-point --vid=<uint16> --pid=<uint16> --issuer-subject-key-id=<string> --is-paa=<bool> --label=<string>
1040-
--certificate=<string-or-path> --data-url=<string> --revocation-type=1 --from=<account>`
1041+
--certificate=<string-or-path> --certificate-delegator=<string-or-path> --data-url=<string> --revocation-type=1 --from=<account>`
10411042

10421043
#### UPDATE_REVOCATION_DISTRIBUTION_POINT
10431044

@@ -1053,7 +1054,8 @@ Updates an existing PKI Revocation distribution endpoint (such as RFC5280 Certif
10531054
- vid: `uint16` - Vendor ID (positive non-zero). Must be the same as Vendor account's VID and `vid` field in the VID-scoped `CRLSignerCertificate`. Must be the same as a `vid` associated with non-VID scoped `CRLSignerCertificate` on the ledger.
10541055
- label: `string` - A label to disambiguate multiple revocation information partitions of a particular issuer.
10551056
- issuerSubjectKeyID: `string` - Uniquely identifies the PAA or PAI for which this revocation distribution point is provided. Must consist of even number of uppercase hexadecimal characters ([0-9A-F]), with no whitespace and no non-hexadecimal characters., e.g: `5A880E6C3653D07FB08971A3F473790930E62BDB`.
1056-
- crlSignerCertificate: `optional(string)` - The issuer certificate whose revocation information is provided in the distribution point entry, encoded in X.509v3 PEM format. The corresponding CLI parameter can contain either a PEM string or a path to a file containing the data.
1057+
- crlSignerCertificate: `optional(string)` - The issuer certificate whose revocation information is provided in the distribution point entry, encoded in X.509v3 PEM format. The corresponding CLI parameter can contain either a PEM string or a path to a file containing the data. Please note that if crlSignerCertificate is a delegated certificate by a PAI, the delegator certificate must be provided using the `crlSignerDelegator` field.
1058+
- crlSignerDelegator: `optional(string)` - If crlSignerCertificate is a delegated certificate by a PAI, then crlSignerDelegator must contain the delegator PAI certificate which must be chained back to an approved certificate in the ledger, encoded in X.509v3 PEM format. Otherwise this field can be omitted. The corresponding CLI parameter can contain either a PEM string or a path to a file containing the data.
10571059
- dataUrl: `optional(string)` - The URL where to obtain the information in the format indicated by the RevocationType field. Must start with either `http` or `https`. Must be unique for all pairs of VendorID and IssuerSubjectKeyID.
10581060
- dataFileSize: `optional(uint64)` - Total size in bytes of the file found at the DataUrl. Must be omitted if RevocationType is 1.
10591061
- dataDigest: `optional(string)` - Digest of the entire contents of the associated file downloaded from the DataUrl. Must be omitted if RevocationType is 1. Must be provided if and only if the `DataFileSize` field is present.
@@ -1064,7 +1066,7 @@ Updates an existing PKI Revocation distribution endpoint (such as RFC5280 Certif
10641066
- `pki/RevocationDistributionPoint/value/<IssuerSubjectKeyID>/<vid>/<label>` -> Revocation Distribution Point
10651067
- CLI command:
10661068
- `dcld tx pki update-revocation-point --vid=<uint16> --issuer-subject-key-id=<string> --label=<string>
1067-
--data-url=<string> --certificate=<string-or-path> --from=<account>`
1069+
--data-url=<string> --certificate=<string-or-path> --certificate-delegator=<string-or-path> --from=<account>`
10681070

10691071
#### DELETE_REVOCATION_DISTRIBUTION_POINT
10701072

0 commit comments

Comments
 (0)