pub struct SessionComplianceCertificateBody {
pub session_id: String,
pub policy_hash: String,
pub receipt_count: u64,
pub all_signatures_valid: bool,
pub crypto_floor: String,
pub issued_at: u64,
}Expand description
Body of a session compliance certificate.
Mirrors the fields the auditor consumes (session_id, policy_hash,
receipt counts, all_signatures_valid) and adds a crypto_floor field
so the verifier can reproduce the floor under which the certificate
was issued. Canonical JSON of this body is the byte input to
SigningBackend::sign_bytes; downstream verifiers reproduce the
canonical bytes and call PublicKey::verify on the resulting
signature.
Fields§
§session_id: StringSession this certificate covers.
policy_hash: StringSHA-256 hash of the policy applied to every receipt in the session.
receipt_count: u64Number of receipts walked while issuing this certificate.
all_signatures_valid: boolWhether every receipt’s signature re-verified during issuance.
crypto_floor: StringCrypto floor under which the certificate was issued. The verifier reproduces this floor when re-verifying receipt-side signatures so a downgrade attack on receipts is caught at certificate-load time.
issued_at: u64Unix timestamp (seconds) when the certificate was issued.
Trait Implementations§
Source§impl Clone for SessionComplianceCertificateBody
impl Clone for SessionComplianceCertificateBody
Source§fn clone(&self) -> SessionComplianceCertificateBody
fn clone(&self) -> SessionComplianceCertificateBody
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'de> Deserialize<'de> for SessionComplianceCertificateBody
impl<'de> Deserialize<'de> for SessionComplianceCertificateBody
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for SessionComplianceCertificateBody
impl StructuralPartialEq for SessionComplianceCertificateBody
Auto Trait Implementations§
impl Freeze for SessionComplianceCertificateBody
impl RefUnwindSafe for SessionComplianceCertificateBody
impl Send for SessionComplianceCertificateBody
impl Sync for SessionComplianceCertificateBody
impl Unpin for SessionComplianceCertificateBody
impl UnsafeUnpin for SessionComplianceCertificateBody
impl UnwindSafe for SessionComplianceCertificateBody
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more