Skip to content

Commit 7d322cc

Browse files
committed
fixup! fixup! fixup! fixup! fixup! [doc] Improvements on management of trusted certificates
Signed-off-by: Ming Lu <[email protected]>
1 parent de54885 commit 7d322cc

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

doc/content/design/trusted-certificates.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,30 +73,37 @@ This is an existing API to install a trusted certificate into the pool with its
7373
Prior to this design, the API's name parameter represents the certificate file name as persisted on the dom0 file system.
7474
In this design, this API will be deprecated because it exposes implementation details that should remain internal and hidden from users.
7575
The new "pool.install_trusted_certificate" should be used instead.
76+
For the same reason, "pool.uninstall_ca_certificate" will also be deprecated.
7677

7778
### pool.install_trusted_certificate
7879
This is a new API introduced in this design with its arguments being defined as:
7980
* session (ref session_id): reference to a valid session;
8081
* self (ref Pool): reference to the pool;
81-
* kind (string): the kind of the certificate; it can be either "ca" or "peer";
82+
* ca (boolean): the trusted certificate is a root CA certificate used to verify a chain (true), or a peer certificate used for certificate pinning (false);
8283
* cert (string): the trusted certificate in PEM format;
8384
* purpose (string list): the purposes of the trusted certificate.
8485

8586
This new API is used to install trusted certificate.
86-
The value of *kind* can be "ca", which stands for root CA certificate, or "peer" which stands for peer certificate.
8787
When *purpose* is an empty set, it stands for a root CA certificate for general purpose.
88-
The *purpose* can not be an empty set when the *kind* is "peer", because each peer certificate is specific to a single server and therefore unsuitable for a shared trusted certificate for general purpose.
88+
The *purpose* can not be an empty set when the *ca* is false, because each peer certificate is specific to a single server and therefore unsuitable for a shared trusted certificate for general purpose.
89+
90+
It returns *void* when succeed. Otherwise, return corresponding API error.
8991

9092
### pool.uninstall_certificate
9193
This is a new API introduced in this design to uninstall a trusted certificate with its arguments being defined as:
9294
* session (ref session_id): reference to a valid session;
9395
* certificate (ref Certificate): reference to the trusted certificate;
9496
* force (bool): remove the database entry even if the file doesn't exist.
9597

98+
It returns *void* when succeed. Otherwise, return corresponding API error.
99+
96100
### pool.join
97101
Prior to this design, trusted certificates are exchanged between the pool and the joining host during the pre‑join phase.
98102
This design preserves that behavior to ensure the joiner works correctly both before and after joining the pool.
99103

104+
### pool.eject
105+
The trusted certificates will be removed from any host which is being eject from the pool.
106+
100107
### Other APIs of managing trusted certificates
101108
The install/uninstall APIs above are not the only ways of managing the trusted certificates.
102109
A particular API, e.g. "pool.set_wlb_url", may also install the trusted certificate used to validate the WLB server on subsequent TLS connections.

0 commit comments

Comments
 (0)