pub struct Checkpoint {
pub created_at: u64,
pub segment_seq: u64,
pub record_count: u64,
pub tree_size: u64,
pub merkle_root: Hash,
pub key_version: u32,
pub signature: Vec<u8>,
}Expand description
One signed integrity checkpoint of the audit-log Merkle tree. See the module docs for the threat it addresses.
Fields§
§created_at: u64UTC micros at signing time.
segment_seq: u64Sequence number of the logs segment that was active at checkpoint time.
record_count: u64Log records on disk at checkpoint time (decreases after retention).
tree_size: u64Total records ever appended at checkpoint time — the Merkle tree size the
merkle_root is taken over. Never decreases (the spine is not purged), so
the current tree is always an extension of any past checkpoint.
merkle_root: HashMerkle root over the first tree_size leaves at checkpoint time.
key_version: u32crate::crypto::KeyVersion of the RSA key that signed this
checkpoint — after a rotation, old checkpoints still verify against
the retained public key of their own version.
signature: Vec<u8>RSA PKCS#1 v1.5 / SHA-256 signature over the fields above.
Implementations§
Trait Implementations§
Source§impl Clone for Checkpoint
impl Clone for Checkpoint
Source§fn clone(&self) -> Checkpoint
fn clone(&self) -> Checkpoint
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Checkpoint
impl Debug for Checkpoint
impl Eq for Checkpoint
Source§impl PartialEq for Checkpoint
impl PartialEq for Checkpoint
Source§fn eq(&self, other: &Checkpoint) -> bool
fn eq(&self, other: &Checkpoint) -> bool
self and other values to be equal, and is used by ==.