EcdsaSig

Struct EcdsaSig 

Source
pub struct EcdsaSig(/* private fields */);
Expand description

A low level interface to ECDSA.

Implementations§

Source§

impl EcdsaSig

Source

pub fn sign<T>(data: &[u8], eckey: &EcKeyRef<T>) -> Result<EcdsaSig, ErrorStack>
where T: HasPrivate,

Computes a digital signature of the hash value data using the private EC key eckey.

This corresponds to ECDSA_do_sign.

Source

pub fn from_private_components( r: BigNum, s: BigNum, ) -> Result<EcdsaSig, ErrorStack>

Returns a new EcdsaSig by setting the r and s values associated with an ECDSA signature.

This corresponds to ECDSA_SIG_set0.

Source

pub fn from_der(der: &[u8]) -> Result<EcdsaSig, ErrorStack>

Decodes a DER-encoded ECDSA signature.

This corresponds to d2i_ECDSA_SIG.

Methods from Deref<Target = EcdsaSigRef>§

Source

pub fn to_der(&self) -> Result<Vec<u8>, ErrorStack>

Serializes the ECDSA signature into a DER-encoded ECDSASignature structure.

This corresponds to i2d_ECDSA_SIG.

Source

pub fn verify<T>( &self, data: &[u8], eckey: &EcKeyRef<T>, ) -> Result<bool, ErrorStack>
where T: HasPublic,

Verifies if the signature is a valid ECDSA signature using the given public key.

This corresponds to ECDSA_do_verify.

Source

pub fn r(&self) -> &BigNumRef

Returns internal component: r of an EcdsaSig. (See X9.62 or FIPS 186-2)

This corresponds to ECDSA_SIG_get0.

Source

pub fn s(&self) -> &BigNumRef

Returns internal components: s of an EcdsaSig. (See X9.62 or FIPS 186-2)

This corresponds to ECDSA_SIG_get0.

Trait Implementations§

Source§

impl AsRef<EcdsaSigRef> for EcdsaSig

Source§

fn as_ref(&self) -> &EcdsaSigRef

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<EcdsaSigRef> for EcdsaSig

Source§

fn borrow(&self) -> &EcdsaSigRef

Immutably borrows from an owned value. Read more
Source§

impl Deref for EcdsaSig

Source§

type Target = EcdsaSigRef

The resulting type after dereferencing.
Source§

fn deref(&self) -> &EcdsaSigRef

Dereferences the value.
Source§

impl DerefMut for EcdsaSig

Source§

fn deref_mut(&mut self) -> &mut EcdsaSigRef

Mutably dereferences the value.
Source§

impl Drop for EcdsaSig

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl ForeignType for EcdsaSig

Source§

type CType = ECDSA_SIG

The raw C type.
Source§

type Ref = EcdsaSigRef

The type representing a reference to this type.
Source§

unsafe fn from_ptr(ptr: *mut ECDSA_SIG) -> EcdsaSig

Constructs an instance of this type from its raw type.
Source§

fn as_ptr(&self) -> *mut ECDSA_SIG

Returns a raw pointer to the wrapped value.
Source§

impl Send for EcdsaSig

Source§

impl Sync for EcdsaSig

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.

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 8 bytes