Struct tor_cert::Ed25519Cert

source ·
pub struct Ed25519Cert { /* private fields */ }
Expand description

Structure for an Ed25519-signed certificate as described in Tor’s cert-spec.txt.

Implementations§

source§

impl Ed25519Cert

source

pub fn constructor() -> Ed25519CertConstructor

Available on crate feature encode only.

Return a new Ed25519CertConstructor to create and return a new signed Ed25519Cert.

source§

impl Ed25519Cert

source

pub fn decode(cert: &[u8]) -> BytesResult<KeyUnknownCert>

Try to decode a certificate from a byte slice.

This function returns an error if the byte slice is not completely exhausted.

Note that the resulting KeyUnknownCertificate is not checked for validity at all: you will need to provide it with an expected signing key, then check it for timeliness and well-signedness.

source

pub fn expiry(&self) -> SystemTime

Return the time at which this certificate becomes expired

source

pub fn is_expired_at(&self, when: SystemTime) -> bool

Return true iff this certificate will be expired at the time when.

source

pub fn subject_key(&self) -> &CertifiedKey

Return the signed key or object that is authenticated by this certificate.

source

pub fn signing_key(&self) -> Option<&Ed25519Identity>

Return the ed25519 key that signed this certificate.

source

pub fn cert_type(&self) -> CertType

Return the type of this certificate.

Trait Implementations§

source§

impl Clone for Ed25519Cert

source§

fn clone(&self) -> Ed25519Cert

Returns a copy 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 Ed25519Cert

source§

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

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

impl Timebound<Ed25519Cert> for Ed25519Cert

§

type Error = TimeValidityError

An error type that’s returned when the object is not timely.
source§

fn is_valid_at(&self, t: &SystemTime) -> Result<(), Self::Error>

Check whether this object is valid at a given time. Read more
source§

fn dangerously_assume_timely(self) -> Ed25519Cert

Return the underlying object without checking whether it’s valid.
source§

fn check_valid_at(self, t: &SystemTime) -> Result<T, Self::Error>

Unwrap this Timebound object if it is valid at a given time.
source§

fn check_valid_now(self) -> Result<T, Self::Error>

Unwrap this Timebound object if it is valid now.
source§

fn check_valid_at_opt(self, t: Option<SystemTime>) -> Result<T, Self::Error>

Unwrap this object if it is valid at the provided time t. If no time is provided, check the object at the current time.
source§

impl Timebound<Ed25519Cert> for SigCheckedCert

§

type Error = TimeValidityError

An error type that’s returned when the object is not timely.
source§

fn is_valid_at(&self, t: &SystemTime) -> Result<(), Self::Error>

Check whether this object is valid at a given time. Read more
source§

fn dangerously_assume_timely(self) -> Ed25519Cert

Return the underlying object without checking whether it’s valid.
source§

fn check_valid_at(self, t: &SystemTime) -> Result<T, Self::Error>

Unwrap this Timebound object if it is valid at a given time.
source§

fn check_valid_now(self) -> Result<T, Self::Error>

Unwrap this Timebound object if it is valid now.
source§

fn check_valid_at_opt(self, t: Option<SystemTime>) -> Result<T, Self::Error>

Unwrap this object if it is valid at the provided time t. If no time is provided, check the object at the current time.

Auto Trait Implementations§

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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