Struct picky::http::http_signature::HttpSignature[][src]

pub struct HttpSignature {
    pub key_id: String,
    pub headers: Vec<Header>,
    pub created: Option<u64>,
    pub expires: Option<u64>,
    pub signature: String,
    pub algorithm: Option<HttpSigAlgorithm>,
    // some fields omitted
}
Expand description

Contains signature parameters.

Fields

key_id: String

An opaque string that the server can use to look up the component they need to validate the signature.

headers: Vec<Header>

In original string format, headers should be a lowercased, quoted list of HTTP header fields, separated by a single space character.

For instance : (request-target) (created) host date cache-control x-emptyheader x-example.

created: Option<u64>

The created field expresses when the signature was created. The value MUST be a Unix timestamp integer value. A signature with a created timestamp value that is in the future MUST NOT be processed.

expires: Option<u64>

The expires field expresses when the signature ceases to be valid. The value MUST be a Unix timestamp integer value. A signature with an expires timestamp value that is in the past MUST NOT be processed.

signature: String

Base 64 encoded digital signature, as described in RFC4648, Section 4. The client uses the algorithm and headers signature parameters to form a canonicalized signing string. This signing string is then signed with the key associated with key_id and the algorithm corresponding to algorithm. The signature parameter is then set to the base 64 encoding of the signature.

algorithm: Option<HttpSigAlgorithm>

Used to specify the signature string construction mechanism. Implementers SHOULD derive the digital signature algorithm used by an implementation from the key metadata identified by the keyId rather than from this field. If algorithm is provided and differs from the key metadata identified by the keyId, for example rsa-sha256 but an EdDSA key is identified via keyId, then an implementation MUST produce an error. Note: as of draft 12 there is only one signature string construction mechanism. As such this parameter is only used to hint the digital signature algorithm.

Implementations

impl HttpSignature[src]

Trait Implementations

impl Clone for HttpSignature[src]

fn clone(&self) -> HttpSignature[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for HttpSignature[src]

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

Formats the value using the given formatter. Read more

impl FromStr for HttpSignature[src]

type Err = HttpSignatureError

The associated error which can be returned from parsing.

fn from_str(http_authorization_header: &str) -> Result<Self, Self::Err>[src]

Parses a string s to return a value of this type. Read more

impl Hash for HttpSignature[src]

fn hash<__H: Hasher>(&self, state: &mut __H)[src]

Feeds this value into the given Hasher. Read more

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given Hasher. Read more

impl PartialEq<HttpSignature> for HttpSignature[src]

fn eq(&self, other: &HttpSignature) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &HttpSignature) -> bool[src]

This method tests for !=.

impl ToString for HttpSignature[src]

fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

impl Eq for HttpSignature[src]

impl StructuralEq for HttpSignature[src]

impl StructuralPartialEq for HttpSignature[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

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

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

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

pub fn vzip(self) -> V