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

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
}

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]

impl Debug for HttpSignature[src]

impl Eq for HttpSignature[src]

impl FromStr for HttpSignature[src]

type Err = HttpSignatureError

The associated error which can be returned from parsing.

impl Hash for HttpSignature[src]

impl PartialEq<HttpSignature> for HttpSignature[src]

impl StructuralEq for HttpSignature[src]

impl StructuralPartialEq for HttpSignature[src]

impl ToString for HttpSignature[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

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

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

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.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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.

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.

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