pub struct StdcodeSigned<T> {
pub inner: T,
pub signature: Signature,
pub pubkey: VerifyingKey,
}Expand description
A signed value that internally uses stdcode, which only works with plain-old-data types that will never be extended.
Fields§
§inner: T§signature: Signature§pubkey: VerifyingKeyImplementations§
Source§impl<T: Serialize> StdcodeSigned<T>
impl<T: Serialize> StdcodeSigned<T>
Sourcepub fn new(inner: T, domain: &str, seckey: &SigningKey) -> Self
pub fn new(inner: T, domain: &str, seckey: &SigningKey) -> Self
Creates a new Signed instance, which represents a piece of data signed by an ed25519 key.
Sourcepub fn verify(
self,
domain: &str,
is_valid_pk: impl FnOnce(&VerifyingKey) -> bool,
) -> Result<T, VerifyError>
pub fn verify( self, domain: &str, is_valid_pk: impl FnOnce(&VerifyingKey) -> bool, ) -> Result<T, VerifyError>
Verifies the signed document, returning what’s inside. This method handles checking that the included public key signs the included data, but the caller should pass in an argument that checks the validity of the public key itself.
Trait Implementations§
Source§impl<T: Clone> Clone for StdcodeSigned<T>
impl<T: Clone> Clone for StdcodeSigned<T>
Source§fn clone(&self) -> StdcodeSigned<T>
fn clone(&self) -> StdcodeSigned<T>
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T: Debug> Debug for StdcodeSigned<T>
impl<T: Debug> Debug for StdcodeSigned<T>
Source§impl<'de, T> Deserialize<'de> for StdcodeSigned<T>where
T: Deserialize<'de>,
impl<'de, T> Deserialize<'de> for StdcodeSigned<T>where
T: Deserialize<'de>,
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl<T> Freeze for StdcodeSigned<T>where
T: Freeze,
impl<T> RefUnwindSafe for StdcodeSigned<T>where
T: RefUnwindSafe,
impl<T> Send for StdcodeSigned<T>where
T: Send,
impl<T> Sync for StdcodeSigned<T>where
T: Sync,
impl<T> Unpin for StdcodeSigned<T>where
T: Unpin,
impl<T> UnwindSafe for StdcodeSigned<T>where
T: UnwindSafe,
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)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>
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 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>
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