pub struct AuthenticatedProofEnvelope {
pub algorithm: String,
pub key_id: Vec<u8>,
pub proof_bundle: Vec<u8>,
pub context: Vec<u8>,
pub issued_at_millis: Option<u64>,
pub expires_at_millis: Option<u64>,
pub nonce: Vec<u8>,
pub signature: Vec<u8>,
}Expand description
HMAC-authenticated envelope for any proof bundle.
The envelope does not change proof semantics: proof_bundle is still decoded
by KeyProof::from_bundle_bytes, MultiKeyProof::from_bundle_bytes,
RangeProof::from_bundle_bytes, or RangePageProof::from_bundle_bytes.
The envelope adds provenance fields and an HMAC-SHA256 signature so a peer
can reject tampered bundles before decoding them.
Fields§
§algorithm: StringSignature algorithm. Version 1 supports hmac-sha256.
key_id: Vec<u8>Caller-defined identifier used to select the shared secret.
proof_bundle: Vec<u8>Canonical proof bundle bytes from one of the proof to_bundle_bytes
methods.
context: Vec<u8>Application-defined domain bytes, such as tenant, snapshot, endpoint, or authorization scope.
issued_at_millis: Option<u64>Optional issue time in Unix milliseconds.
expires_at_millis: Option<u64>Optional expiration time in Unix milliseconds.
nonce: Vec<u8>Caller-provided nonce to make envelopes unique across repeated proofs.
signature: Vec<u8>HMAC-SHA256 over the canonical signing payload.
Implementations§
Source§impl AuthenticatedProofEnvelope
impl AuthenticatedProofEnvelope
Trait Implementations§
Source§impl Clone for AuthenticatedProofEnvelope
impl Clone for AuthenticatedProofEnvelope
Source§fn clone(&self) -> AuthenticatedProofEnvelope
fn clone(&self) -> AuthenticatedProofEnvelope
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 AuthenticatedProofEnvelope
impl Debug for AuthenticatedProofEnvelope
impl Eq for AuthenticatedProofEnvelope
impl StructuralPartialEq for AuthenticatedProofEnvelope
Auto Trait Implementations§
impl Freeze for AuthenticatedProofEnvelope
impl RefUnwindSafe for AuthenticatedProofEnvelope
impl Send for AuthenticatedProofEnvelope
impl Sync for AuthenticatedProofEnvelope
impl Unpin for AuthenticatedProofEnvelope
impl UnsafeUnpin for AuthenticatedProofEnvelope
impl UnwindSafe for AuthenticatedProofEnvelope
Blanket Implementations§
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,
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