pub struct SignatifManifest {
pub manifest_version: u32,
pub topology: TopologyProfile,
pub authorities: Vec<AuthorityDeclaration>,
pub algorithms: Vec<String>,
pub migration_phase: MigrationPhase,
pub transparency_logs: Vec<LogDeclaration>,
pub multi_log_policy: Option<MultiLogPolicyDeclaration>,
pub cross_recognitions: Vec<CrossRecognition>,
pub valid_from: DateTime<Utc>,
pub valid_until: DateTime<Utc>,
pub root_signature: Vec<u8>,
}Expand description
A root-signed declarative deployment manifest (§18).
Fields§
§manifest_version: u32Manifest version (semantic compatibility).
topology: TopologyProfileThe deployment’s topology profile.
All declared trust authorities (roots have empty parents).
algorithms: Vec<String>Algorithms recognized by this deployment (algorithm registry names).
migration_phase: MigrationPhaseThe active migration phase.
transparency_logs: Vec<LogDeclaration>Recognized transparency logs and mirrors.
multi_log_policy: Option<MultiLogPolicyDeclaration>Multi-log attestation policy, when applicable.
cross_recognitions: Vec<CrossRecognition>Cross-recognition credentials between roots.
valid_from: DateTime<Utc>Manifest validity.
valid_until: DateTime<Utc>Manifest validity.
root_signature: Vec<u8>The root trust authority’s signature over the canonical manifest body.
Implementations§
Source§impl SignatifManifest
impl SignatifManifest
Sourcepub fn signing_bytes(&self) -> SignatifResult<Vec<u8>>
pub fn signing_bytes(&self) -> SignatifResult<Vec<u8>>
Canonical signing bytes (JCS of the manifest with the signature cleared).
§Errors
Propagates canonicalization errors.
Look up an authority declaration.
Sourcepub fn roots(&self) -> Vec<&AuthorityDeclaration>
pub fn roots(&self) -> Vec<&AuthorityDeclaration>
The root authorities (no parents).
Sourcepub fn verify_signature(
&self,
verifier: &dyn SignatureVerifier,
) -> SignatifResult<()>
pub fn verify_signature( &self, verifier: &dyn SignatureVerifier, ) -> SignatifResult<()>
Sourcepub fn validate(&self) -> SignatifResult<()>
pub fn validate(&self) -> SignatifResult<()>
Validate the whole manifest (§18 manifest-validation-*):
- acyclic delegation graph;
- monotonic scope narrowing on every parent -> child link;
- quorum consistency (1 <= T <= N per authority, M <= K for the multi-log policy);
- at least one root exists.
§Errors
Returns the first violation as an encoding error with a precise message.
Trait Implementations§
Source§impl Clone for SignatifManifest
impl Clone for SignatifManifest
Source§fn clone(&self) -> SignatifManifest
fn clone(&self) -> SignatifManifest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more