Skip to content

Commit 4a50032

Browse files
committed
Merge branch 'pki-compatibility' into split-transactions-doc
# Conflicts: # docs/auth.md # docs/compliance.md # docs/model.md # docs/pki.md # docs/transactions.md # docs/upgrade.md # docs/validator-node.md # docs/vendor-info.md
2 parents 0434fc6 + 2ef3fe9 commit 4a50032

File tree

137 files changed

+6651
-2638
lines changed

Some content is hidden

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

137 files changed

+6651
-2638
lines changed

README-DEV.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -125,15 +125,15 @@ Start a local pool as described above, and then just execute
125125
dcld
126126
```
127127

128-
Have a look at [How To](docs/how-to.md) and [transactions](docs/transactions/transactions.md) for instructions how to configure and use the CLI.
128+
Have a look at [How To](docs/how-to.md) and [transactions](docs/transactions.md) for instructions how to configure and use the CLI.
129129

130130
## REST
131131

132132
Start a local pool as described above.
133133

134134
Every node exposes a REST API at `http://<node-host>:1317` (see <https://docs.cosmos.network/v0.45/core/grpc_rest.html>).
135135

136-
Have a look at [transactions](docs/transactions/transactions.md) for a full list of REST endpoints.
136+
Have a look at [transactions](docs/transactions.md) for a full list of REST endpoints.
137137

138138
## Contributing
139139

README.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ DC Ledger is based on [CometBFT](https://cometbft.com/) and [Cosmos SDK](https:/
2222

2323
DC Ledger is a public permissioned ledger in the following sense:
2424

25-
- Anyone can read from the ledger (that's why it's public). See [How to read from the Ledger](docs/transactions/transactions.md#how-to-read-from-the-ledger).
26-
- Writes to the ledger are permissioned. See [How to write to the Ledger](docs/transactions/transactions.md#how-to-write-to-the-ledger) for details.
25+
- Anyone can read from the ledger (that's why it's public). See [How to read from the Ledger](docs/transactions.md#how-to-read-from-the-ledger).
26+
- Writes to the ledger are permissioned. See [How to write to the Ledger](docs/transactions.md#how-to-write-to-the-ledger) for details.
2727
- PoA (proof of authority) approach is used for adding new validator nodes to the network
2828
(see [Add New Node Use Case](docs/use_cases/use_cases_add_validator_node.png)) and
2929
[Running Node](docs/running-node.md).
@@ -117,7 +117,7 @@ See [Run local pool](README-DEV.md#run-local-pool) section in [README-DEV.md](RE
117117
### CLI
118118

119119
- The same `dcld` binary as a Node
120-
- A full list of all CLI commands can be found there: [transactions.md](docs/transactions/transactions.md).
120+
- A full list of all CLI commands can be found there: [transactions.md](docs/transactions.md).
121121
- CLI can be used for write and read requests.
122122
- Please configure the CLI before using (see [how-to.md](docs/how-to.md#cli-configuration)).
123123
- **If there are no trusted Observer or Validator nodes to connect a CLI, then a [Light Client Proxy](#light-client-proxy) can be used.**
@@ -140,20 +140,20 @@ See [Run Light Client Proxy](docs/running-light-client-proxy.md) for details how
140140
- **There are no state proofs in REST, so REST queries should be sent to trusted Validator or Observer nodes only.**
141141
- OpenAPI specification: <https://zigbee-alliance.github.io/distributed-compliance-ledger/>.
142142
- Any running node exposes a REST API at port `1317`. See <https://docs.cosmos.network/v0.47/learn/advanced/grpc_rest>.
143-
- See [transactions](docs/transactions/transactions.md) for a full list of endpoints.
143+
- See [transactions](docs/transactions.md) for a full list of endpoints.
144144
- REST HTTP(S) queries can be directly used for read requests.
145-
See [How to read from the Ledger](docs/transactions/transactions.md#how-to-read-from-the-ledger).
145+
See [How to read from the Ledger](docs/transactions.md#how-to-read-from-the-ledger).
146146
- REST HTTP(S) queries can be directly used to broadcast generated and signed transaction.
147147
- Generation and signing of transactions need to be done in code or via CLI.
148-
See [How to write to the Ledger](docs/transactions/transactions.md#how-to-write-to-the-ledger).
148+
See [How to write to the Ledger](docs/transactions.md#how-to-write-to-the-ledger).
149149

150150
### gRPC
151151

152152
- **There are no state proofs in gRPC, so gRPC queries should be sent to trusted Validator or Observer nodes only.**
153153
- Any running node exposes a REST API at port `9090`. See <https://docs.cosmos.network/v0.47/learn/advanced/grpc_rest>.
154154
- A client code can be generated for all popular languages from the proto files [proto](proto), see <https://grpc.io/docs/languages/>.
155155
- The generated client code can be used for read and write requests, i.e. generation and signing of transactions
156-
See [How to read from the Ledger](docs/transactions/transactions.md#how-to-read-from-the-ledger) and [How to write to the Ledger](docs/transactions/transactions.md#how-to-write-to-the-ledger) for details.
156+
See [How to read from the Ledger](docs/transactions.md#how-to-read-from-the-ledger) and [How to write to the Ledger](docs/transactions.md#how-to-write-to-the-ledger) for details.
157157

158158
### CometBFT RPC and Light Client
159159

@@ -209,7 +209,7 @@ the following instructions from [how-to.md](docs/how-to.md) can be used for ever
209209

210210
- [OpenAPI specification](https://zigbee-alliance.github.io/distributed-compliance-ledger/)
211211
- [Quick Start](docs/quickStartGuide.adoc)
212-
- [List of Transactions, Queries, CLI command, REST API](docs/transactions/transactions.md)
212+
- [List of Transactions, Queries, CLI command, REST API](docs/transactions.md)
213213
- [How To Guide](docs/how-to.md)
214214
- [Use Case Diagrams](docs/use_cases)
215215
- [PKI](docs/use_cases/use_cases_pki.png)
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Testnet 2.0 CSA public endpoints
22

3-
- `REST` - <https://on.test-net.dcl.csa-iot.org>
3+
[//]: # (- `REST` - <https://on.test-net.dcl.csa-iot.org>)
44
- `RPC` - <https://on.test-net.dcl.csa-iot.org:26657>
55
- `gRPC` - on.test-net.dcl.csa-iot.org:8443
66
- `Seed Node` - 100.25.175.140:26656
File renamed without changes.
File renamed without changes.

docs/design/noc-root-cert-design.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ Retrieve NOC root certificates associated with a specific VID.
9696
- CLI Command:
9797
- `dcld query pki get_noc_x509_root_certs --vid=<uint16>`
9898
- REST API:
99-
- GET `/dcl/pki/noc-root-certificates/{vid}`
99+
- GET `/dcl/pki/noc-vid-root-certificates/{vid}`
100100

101101
### GET_ALL_NOC_X509_ROOT_CERTS
102102

docs/how-to.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This document contains tutorials demonstrating how to accomplish common tasks us
66
- If write requests to the Ledger needs to be sent, please make sure that you have
77
an Account created on the Ledger with an appropriate role (see [Getting Account](#getting-account) section in [how-to.md](how-to.md)).
88
- Sending read requests to the Ledger doesn't require an Account (Ledger is public for reads).
9-
- A full list of all CLI commands with all parameters can be found there: [transactions](transactions/transactions.md).
9+
- A full list of all CLI commands with all parameters can be found there: [transactions](transactions.md).
1010
- After the CLI is configured and Account with an appropriate role is created,
1111
the following instructions can be used for every role (see [Use Case Diagrams](use_cases)):
1212
- [Trustee](#trustee-instructions)
File renamed without changes.
File renamed without changes.

docs/pool-upgrade-how-to.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ One of the trustees proposes the upgrade using the following steps:
6060
```
6161
Please note, that it must be called against the `dcld` binary, not the platform archive itself. So, for Ubuntu, either take a `dcld` binary from the root folder of the release, or extract it from ` dcld.ubuntu.tar.gz`.
6262

63-
2. Sends [`ProposeUpgrade`](transactions/transactions.md#propose_upgrade) transaction
63+
2. Sends [`ProposeUpgrade`](transactions.md#propose_upgrade) transaction
6464
with the name of the new upgrade handler, the chosen ledger height and the
6565
info containing URLs of the new application version binaries for supported
6666
platforms with the calculated checksums.
@@ -92,7 +92,7 @@ Each of them uses the following steps to accomplish this:
9292
```
9393
Please note, that it must be called against the `dcld` binary, not the platform archive itself. So, for Ubuntu, either take a `dcld` binary from the root folder of the release, or extract it from ` dcld.ubuntu.tar.gz`.
9494

95-
2. Sends [`ApproveUpgrade`](transactions/transactions.md#approve_upgrade) transaction
95+
2. Sends [`ApproveUpgrade`](transactions.md#approve_upgrade) transaction
9696
with the name of the proposed upgrade.
9797

9898
For example:

docs/pool-upgrade.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ Any upgrade plan has the following fields:
2727
## Workflow
2828

2929
Initially an upgrade plan is proposed by one of trustees using
30-
[propose-upgrade](transactions/transactions.md#propose_upgrade) command. Then the proposed
30+
[propose-upgrade](transactions.md) command. Then the proposed
3131
upgrade plan has to be approved by the majority of trustees (2/3 including the
3232
trustee who has proposed it) using
33-
[approve-upgrade](transactions/transactions.md#approve_upgrade) command. When the necessary
33+
[approve-upgrade](transactions.md#approve_upgrade) command. When the necessary
3434
count of approvals is gathered, the upgrade plan turns into the approved state
3535
and is actually scheduled.
3636

@@ -81,5 +81,5 @@ checksum when the URL is provided in the specified format. If the downloaded
8181
file checksum does not equal to the checksum provided in the URL, `go-getter`
8282
reports that checksums did not match. To view `Info` field value of an upgrade
8383
plan, just execute an appropriate query command from `dclupgrade` or `upgrade`
84-
module. See [Upgrade CLI commands reference](transactions/transactions.md#upgrade) for
84+
module. See [Upgrade CLI commands reference](transactions.md#upgrade) for
8585
details.

docs/static/openapi.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -10209,7 +10209,7 @@ paths:
1020910209
type: string
1021010210
tags:
1021110211
- Query
10212-
/dcl/pki/noc-certificates/{subject}:
10212+
/dcl/pki/all-noc-certificates/{subject}:
1021310213
get:
1021410214
summary: Queries a NocCertificatesBySubject by index.
1021510215
operationId: NocCertificatesBySubject
@@ -10256,7 +10256,7 @@ paths:
1025610256
type: string
1025710257
tags:
1025810258
- Query
10259-
/dcl/pki/noc-certificates/{subject}/{subjectKeyId}:
10259+
/dcl/pki/all-noc-certificates/{subject}/{subjectKeyId}:
1026010260
get:
1026110261
summary: Queries a NocCertificates by index.
1026210262
operationId: NocCertificates
@@ -10384,7 +10384,7 @@ paths:
1038410384
type: string
1038510385
tags:
1038610386
- Query
10387-
/dcl/pki/noc-certificates/{vid}/{subjectKeyId}:
10387+
/dcl/pki/noc-vid-certificates/{vid}/{subjectKeyId}:
1038810388
get:
1038910389
summary: Queries a NocCertificatesByVidAndSkid by index.
1039010390
operationId: NocCertificatesByVidAndSkid
@@ -10716,7 +10716,7 @@ paths:
1071610716
type: boolean
1071710717
tags:
1071810718
- Query
10719-
/dcl/pki/noc-ica-certificates/{vid}:
10719+
/dcl/pki/noc-vid-ica-certificates/{vid}:
1072010720
get:
1072110721
summary: Queries a NocIcaCertificates by index.
1072210722
operationId: NocIcaCertificates
@@ -11039,7 +11039,7 @@ paths:
1103911039
type: boolean
1104011040
tags:
1104111041
- Query
11042-
/dcl/pki/noc-root-certificates/{vid}:
11042+
/dcl/pki/noc-vid-root-certificates/{vid}:
1104311043
get:
1104411044
summary: Queries a NocRootCertificates by index.
1104511045
operationId: NocRootCertificates
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ require (
2727
github.com/spf13/pflag v1.0.5
2828
github.com/spf13/viper v1.14.0
2929
github.com/stretchr/testify v1.8.4
30+
golang.org/x/tools v0.6.0
3031
google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917
3132
google.golang.org/grpc v1.60.1
3233
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0
@@ -206,7 +207,6 @@ require (
206207
golang.org/x/sys v0.16.0 // indirect
207208
golang.org/x/term v0.15.0 // indirect
208209
golang.org/x/text v0.14.0 // indirect
209-
golang.org/x/tools v0.6.0 // indirect
210210
google.golang.org/api v0.149.0 // indirect
211211
google.golang.org/appengine v1.6.8 // indirect
212212
google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 // indirect

integration_tests/cli/pki-combine-certs.sh

+12
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,18 @@ response_does_not_contain "$result" "\"subjectKeyId\": \"$da_root_subject_key_id
283283

284284
test_divider
285285

286+
echo "Request DA certificates by subject using global command"
287+
result=$(dcld query pki all-subject-certs --subject=$da_root_subject)
288+
echo $result | jq
289+
check_response "$result" "\"$da_root_subject\""
290+
check_response "$result" "\"$da_root_subject_key_id\""
291+
292+
echo "Request NOC certificates by subject using global command"
293+
result=$(dcld query pki all-subject-certs --subject=$noc_root_subject)
294+
echo $result | jq
295+
check_response "$result" "\"$noc_root_subject\""
296+
check_response "$result" "\"$noc_root_subject_key_id\""
297+
286298
echo "Request all DA certificates by subject must be empty"
287299
result=$(dcld query pki all-subject-x509-certs --subject="$da_root_subject")
288300
echo $result | jq

integration_tests/cli/pki-noc-certs.sh

+4-4
Original file line numberDiff line numberDiff line change
@@ -517,10 +517,6 @@ check_response "$result" "\"code\": 0"
517517
echo "Request all revoked certificates should not contain leaf certificate"
518518
result=$(dcld query pki all-revoked-noc-x509-ica-certs)
519519
echo $result | jq
520-
check_response "$result" "\"subject\": \"$noc_root_cert_1_subject"
521-
check_response "$result" "\"subjectKeyId\": \"$noc_root_cert_1_subject_key_id\""
522-
check_response "$result" "\"serialNumber\": \"$noc_root_cert_1_serial_number\""
523-
check_response "$result" "\"serialNumber\": \"$noc_root_cert_1_copy_serial_number\""
524520
check_response "$result" "\"subject\": \"$noc_cert_1_subject\""
525521
check_response "$result" "\"subjectKeyId\": \"$noc_cert_1_subject_key_id\""
526522
check_response "$result" "\"serialNumber\": \"$noc_cert_1_serial_number"
@@ -582,3 +578,7 @@ response_does_not_contain "$result" "\"subjectKeyId\": \"$noc_root_cert_1_subjec
582578
response_does_not_contain "$result" "\"serialNumber\": \"$noc_root_cert_1_serial_number\""
583579
response_does_not_contain "$result" "\"serialNumber\": \"$noc_root_cert_1_copy_serial_number\""
584580
echo $result | jq
581+
582+
test_divider
583+
584+
echo "PASS"
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIICODCCAd+gAwIBAgIUE4/js/aPxhJabEzj+K5dGUFwYAIwCgYIKoZIzj0EAwIw
3+
VTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGElu
4+
dGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEOMAwGA1UEAwwFTk9DLTMwIBcNMjQxMTA1
5+
MDcwMTE0WhgPMzAyNDAzMDgwNzAxMTRaMIGCMQswCQYDVQQGEwJVWjETMBEGA1UE
6+
CAwKU29tZSBTdGF0ZTETMBEGA1UEBwwKU29tZSBTdGF0ZTEYMBYGA1UECgwPRXhh
7+
bXBsZSBDb21wYW55MRkwFwYDVQQLDBBUZXN0aW5nIERpdmlzaW9uMRQwEgYDVQQD
8+
DAtOT0MtY2hpbGQtMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGxN1+kOIWaZ
9+
R3TSKvKslrrdS2RdqOHJCShJiVJ6rjgYKXrOMAi2r431jh5uRGJ5JDHydsvduuuo
10+
H5C9d150QeWjXTBbMB0GA1UdDgQWBBTe+R2Q1aEPI1lcP1zHLTFYL6h5MzAfBgNV
11+
HSMEGDAWgBSIDQbZZCIpNHh/jDuu9QiTho8NIDAJBgNVHRMEAjAAMA4GA1UdDwEB
12+
/wQEAwIBgjAKBggqhkjOPQQDAgNHADBEAiANC4+odjqANp1Cw6XDu+NwWagHtZtJ
13+
F7E1VvJHJZz2wgIgfk2qmGYJVOpxNZQn1bNxto2Xfxx5MrEepRqHw4uvylw=
14+
-----END CERTIFICATE-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIICajCCAg+gAwIBAgIUabT4B41R7EGiVRuGLVVT8ciZoHQwCgYIKoZIzj0EAwIw
3+
gYIxCzAJBgNVBAYTAlVaMRMwEQYDVQQIDApTb21lIFN0YXRlMRMwEQYDVQQHDApT
4+
b21lIFN0YXRlMRgwFgYDVQQKDA9FeGFtcGxlIENvbXBhbnkxGTAXBgNVBAsMEFRl
5+
c3RpbmcgRGl2aXNpb24xFDASBgNVBAMMC05PQy1jaGlsZC0zMCAXDTI0MTEwNTA3
6+
MzM1OFoYDzMwMjQwMzA4MDczMzU4WjCBgTELMAkGA1UEBhMCVVoxEzARBgNVBAgM
7+
ClNvbWUgU3RhdGUxEzARBgNVBAcMClNvbWUgU3RhdGUxGDAWBgNVBAoMD0V4YW1w
8+
bGUgQ29tcGFueTEZMBcGA1UECwwQVGVzdGluZyBEaXZpc2lvbjETMBEGA1UEAwwK
9+
Tk9DLWxlYWYtMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIL2WFA6/dAEs+HG
10+
mRRpAW6ouppZMuoVRM8SIoVXLpEOxLZzfsSSCWrF3BJtyu8WpiL6mxb5mdfytvA0
11+
oehKoZqjYDBeMB0GA1UdDgQWBBQsR2j9ET9opRb5vumlasDN1UCTgTAfBgNVHSME
12+
GDAWgBTe+R2Q1aEPI1lcP1zHLTFYL6h5MzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB
13+
/wQEAwIBgjAKBggqhkjOPQQDAgNJADBGAiEA323Q//UQgpjYpnecDrY7OgkSA+zQ
14+
oLKiFhXYt6vVEx0CIQCEOOIyKNZ/P5XkBGWGpEIVVl+H5kEKhWfX7N4xIHBJOw==
15+
-----END CERTIFICATE-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIICKTCCAc+gAwIBAgIUPiZ8EuCMDG+LVlcHIJK8b8ao3v0wCgYIKoZIzj0EAwIw
3+
RTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGElu
4+
dGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAgFw0yNDExMDUxMzQzMjFaGA8zMDI0MDMw
5+
ODEzNDMyMVowgYIxCzAJBgNVBAYTAlVaMRMwEQYDVQQIDApTb21lIFN0YXRlMRMw
6+
EQYDVQQHDApTb21lIFN0YXRlMRgwFgYDVQQKDA9FeGFtcGxlIENvbXBhbnkxGTAX
7+
BgNVBAsMEFRlc3RpbmcgRGl2aXNpb24xFDASBgNVBAMMC05PQy1jaGlsZC0zMFkw
8+
EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEePd2pOUOQOh7HQ1gG0imOtG9P2KWQoQj
9+
cskkDiS475E1n2WtYvXu49ZEt1FAyLC88mBvMMzPaWn7/TlFNC3X4KNdMFswHQYD
10+
VR0OBBYEFKiglRibn4FNx59etYIJJ5UTDJ+HMB8GA1UdIwQYMBaAFKiglRibn4FN
11+
x59etYIJJ5UTDJ+HMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgGCMAoGCCqGSM49
12+
BAMCA0gAMEUCIAdfKhO6Kn75tgGue/xHT0rd+z/zefM4YPNA/hDWWdISAiEAsbx/
13+
Df72UGIF7EFn4Ap/VOPg2IQIily74snXWl9uhag=
14+
-----END CERTIFICATE-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIICHjCCAcSgAwIBAgIUZ7PujzJj9zdO92By/iIsZjjgXlUwCgYIKoZIzj0EAwIw
3+
OzELMAkGA1UEBhMCVEUxEzARBgNVBAgMClNvbWUtU3RhdGUxFzAVBgNVBAoMDlVw
4+
Z3JhZGUxLjQuNF8xMCAXDTI0MTEwNzA1MTAzM1oYDzMwMjQwMzEwMDUxMDMzWjCB
5+
gTELMAkGA1UEBhMCVVoxEzARBgNVBAgMClNvbWUgU3RhdGUxEzARBgNVBAcMClNv
6+
bWUgU3RhdGUxGDAWBgNVBAoMD0V4YW1wbGUgQ29tcGFueTEZMBcGA1UECwwQVGVz
7+
dGluZyBEaXZpc2lvbjETMBEGA1UEAwwKREEtY2hpbGQtMzBZMBMGByqGSM49AgEG
8+
CCqGSM49AwEHA0IABHj3dqTlDkDoex0NYBtIpjrRvT9ilkKEI3LJJA4kuO+RNZ9l
9+
rWL17uPWRLdRQMiwvPJgbzDMz2lp+/05RTQt1+CjXTBbMB0GA1UdDgQWBBSooJUY
10+
m5+BTcefXrWCCSeVEwyfhzAfBgNVHSMEGDAWgBSooJUYm5+BTcefXrWCCSeVEwyf
11+
hzAJBgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIBgjAKBggqhkjOPQQDAgNIADBFAiEA
12+
hQOIPGSKUTf7giMzm6H/wdzSGn98vkzUWiQ/GKG3EYECIFh9XypYxBKIwEs4NvwR
13+
4hVUy0tq9WIBOhT1xZD8s36U
14+
-----END CERTIFICATE-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIB4DCCAYWgAwIBAgIUFiQ4/IBEWGVJ7hA0exUeyCu0i3cwCgYIKoZIzj0EAwIw
3+
RTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGElu
4+
dGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDExMDUxMzQxMjNaFw0zNDExMDMx
5+
MzQxMjNaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYD
6+
VQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwWTATBgcqhkjOPQIBBggqhkjO
7+
PQMBBwNCAAR493ak5Q5A6HsdDWAbSKY60b0/YpZChCNyySQOJLjvkTWfZa1i9e7j
8+
1kS3UUDIsLzyYG8wzM9pafv9OUU0Ldfgo1MwUTAdBgNVHQ4EFgQUqKCVGJufgU3H
9+
n161ggknlRMMn4cwHwYDVR0jBBgwFoAUqKCVGJufgU3Hn161ggknlRMMn4cwDwYD
10+
VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNJADBGAiEAwP316urSnoOge+/hc0nv
11+
dE+430sIZnC+Whr26sNC62sCIQCZC7blqbcCkioHYwQWykOYVVTYlx1AaVDh7Z5B
12+
GfDLMA==
13+
-----END CERTIFICATE-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIByzCCAXGgAwIBAgIUZH3yzaAd7UYx7FnJ9bhVm16uOr4wCgYIKoZIzj0EAwIw
3+
OzELMAkGA1UEBhMCVEUxEzARBgNVBAgMClNvbWUtU3RhdGUxFzAVBgNVBAoMDlVw
4+
Z3JhZGUxLjQuNF8xMB4XDTI0MTEwNTEzNTMxMVoXDTM0MTEwMzEzNTMxMVowOzEL
5+
MAkGA1UEBhMCVEUxEzARBgNVBAgMClNvbWUtU3RhdGUxFzAVBgNVBAoMDlVwZ3Jh
6+
ZGUxLjQuNF8xMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEePd2pOUOQOh7HQ1g
7+
G0imOtG9P2KWQoQjcskkDiS475E1n2WtYvXu49ZEt1FAyLC88mBvMMzPaWn7/TlF
8+
NC3X4KNTMFEwHQYDVR0OBBYEFKiglRibn4FNx59etYIJJ5UTDJ+HMB8GA1UdIwQY
9+
MBaAFKiglRibn4FNx59etYIJJ5UTDJ+HMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZI
10+
zj0EAwIDSAAwRQIhALgih0vsNe2AFz3X8YrZ8KpfLVwZ+SAkxaCvC0dTqXVhAiBj
11+
X3e3OyWEITIBqpjIsxH5oSpYjf0/P/Hq4baV16b4XA==
12+
-----END CERTIFICATE-----

0 commit comments

Comments
 (0)