Skip to main content

Sdk

Struct Sdk 

Source
pub struct Sdk { /* private fields */ }
Expand description

SDK for interacting with Universal Timestamping protocol.

Implementations§

Source§

impl Sdk

Source

pub async fn stamp_files<D>( &self, files: &[PathBuf], ) -> Result<Vec<DetachedTimestamp>>

Creates a timestamp for the given files.

Source

pub async fn stamp_digest<D>( &self, digests: &[Output<D>], ) -> Result<Vec<DetachedTimestamp>>

Creates a timestamp for the given digests.

Source

pub async fn stamp_files_in<A, D>( &self, files: &[PathBuf], allocator: A, ) -> Result<Vec<DetachedTimestamp<A>, A>>

Creates a timestamp for the given files in the provided allocator.

§Note

This uses the allocator_api2 crate for allocator api.

Source

pub async fn stamp_digests_in<A, D>( &self, digests: &[Output<D>], allocator: A, ) -> Result<Vec<DetachedTimestamp<A>, A>>

Creates a timestamp for the given digests in the provided allocator.

§Note

This uses the allocator_api2 crate for allocator api.

Source§

impl Sdk

Source

pub async fn upgrade<A: Allocator + Clone>( &self, stamp: &mut DetachedTimestamp<A>, ) -> Result<BTreeMap<String, UpgradeResult>>

Upgrades all pending attestations in the given detached timestamp.

Source§

impl Sdk

Source

pub async fn verify( &self, file: impl AsRef<Path>, timestamp: &DetachedTimestamp, ) -> Result<Vec<AttestationStatus>>

Verifies the given file against the given detached timestamp, returning a list of attestation statuses.

Source

pub async fn verify_in<A: Allocator + Clone>( &self, file: impl AsRef<Path>, timestamp: &DetachedTimestamp<A>, allocator: A, ) -> Result<Vec<AttestationStatus<A>, A>>

Verifies the given file against the given detached timestamp, returning a list of attestation statuses.

This is the same as verify, but allows specifying a custom allocator for the attestation statuses.

§Note

This uses the allocator_api2 crate for allocator api.

Source

pub async fn verify_digest<D: Digest>( &self, file: impl AsRef<Path>, expected: &[u8], ) -> Result<()>

Verifies the digest of the given file against the expected digest.

Source

pub fn aggregate_verify_results( &self, results: &[AttestationStatus], ) -> VerifyStatus

Aggregate the individual attestation statuses into an overall verification status for the timestamp.

The earliest valid attestation timestamp is used as the timestamp for the overall status, if there is at least one valid attestation.

The logic is as follows:

  • If there is at least one VALID attestation:
  • If there are also INVALID or UNKNOWN attestations, the overall status is PARTIAL_VALID
  • Otherwise, the overall status is VALID
  • If there are no VALID attestations, but at least one PENDING attestation, the overall status is PENDING
  • If there are no VALID attestations, but at least one UNKNOWN attestation, the overall status is UNKNOWN
  • If there are no VALID or PENDING attestations, the overall status is INVALID
Source§

impl Sdk

Source

pub fn new() -> Self

Create a new SDK with default settings.

Source

pub fn builder() -> SdkBuilder

Create a new SDK builder with default settings.

Source

pub fn try_builder_from_calendars( calendars: impl IntoIterator<Item = Url>, ) -> Result<SdkBuilder, BuilderError>

Create a new SDK builder with given calendars and default settings.

Trait Implementations§

Source§

impl Clone for Sdk

Source§

fn clone(&self) -> Sdk

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Sdk

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Sdk

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Sdk

§

impl !RefUnwindSafe for Sdk

§

impl Send for Sdk

§

impl Sync for Sdk

§

impl Unpin for Sdk

§

impl UnsafeUnpin for Sdk

§

impl !UnwindSafe for Sdk

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more