pub enum CertificateSignatureV0 {
Repo(Sig),
TotalOrder(Signature),
Owners(Signature),
Store,
}Expand description
A Signature of a Certificate, with an indication of which the threshold keyset or private key used to generate it
Variants§
Repo(Sig)
the root CertificateContentV0 is signed with the PrivKey of the Repo
TotalOrder(Signature)
Any other certificate in the chain of trust is signed by the total_order quorum of the previous certificate, hence establishing the chain of trust.
Owners(Signature)
if the previous cert’s total order PKset has a threshold value of 0 or 1 (1 or 2 signers in the quorum), then it is allowed that the next certificate (this one) will be signed by the owners PKset instead. This is for a simple reason: if a user is removed from the list of signers in the total_order quorum, then in those 2 cases, the excluded signer will probably not cooperate to their exclusion, and will not sign the new certificate. to avoid deadlocks, we allow the owners to step in and sign the new cert instead. The Owners are also used when there is no quorum/signer defined (OrdersPublicKeySetsV0::None).
Store
in case the new certificate being signed is an update on the store certificate (OrdersPublicKeySetsV0::Store(ObjectRef) has changed from previous cert) then the signature is in that new store certificate, and not here. nothing else should have changed in the CertificateContent, and the validity of the new store cert has to be checked
Trait Implementations§
Source§impl Clone for CertificateSignatureV0
impl Clone for CertificateSignatureV0
Source§fn clone(&self) -> CertificateSignatureV0
fn clone(&self) -> CertificateSignatureV0
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more