Trait SignatureEncoding

pub trait SignatureEncoding:
    Sized
    + Clone
    + for<'a> TryFrom<&'a [u8]>
    + TryInto<Self::Repr> {
    type Repr: 'static + AsRef<[u8]> + Clone + Send + Sync;

    // Provided methods
    fn to_bytes(&self) -> Self::Repr { ... }
    fn encoded_len(&self) -> usize { ... }
}
Expand description

Support for decoding/encoding signatures as bytes.

Required Associated Types§

type Repr: 'static + AsRef<[u8]> + Clone + Send + Sync

Byte representation of a signature.

Provided Methods§

fn to_bytes(&self) -> Self::Repr

Encode signature as its byte representation.

fn encoded_len(&self) -> usize

Get the length of this signature when encoded.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl<C> SignatureEncoding for Signature<C>
where C: PrimeCurve, <<C as Curve>::FieldBytesSize as Add>::Output: ArrayLength<u8>,

§

type Repr = GenericArray<u8, <<C as Curve>::FieldBytesSize as Add>::Output>

§

impl<C> SignatureEncoding for SignatureWithOid<C>
where C: DigestPrimitive, <C as DigestPrimitive>::Digest: AssociatedOid, <<C as Curve>::FieldBytesSize as Add>::Output: ArrayLength<u8>,

NOTE: this implementation assumes the default digest for the given elliptic curve as defined by [hazmat::DigestPrimitive].

When working with alternative digests, you will need to use e.g. [SignatureWithOid::new_with_digest].

§

type Repr = GenericArray<u8, <<C as Curve>::FieldBytesSize as Add>::Output>

Implementors§