[][src]Struct sequoia_openpgp::packet::signature::Signature4

pub struct Signature4 { /* fields omitted */ }

Holds a signature packet.

Signature packets are used both for certification purposes as well as for document signing purposes.

See Section 5.2 of RFC 4880 for details.

Implementations

impl Signature4[src]

pub fn version(&self) -> u8[src]

Gets the version.

pub fn typ(&self) -> SignatureType[src]

Gets the signature type.

pub fn pk_algo(&self) -> PublicKeyAlgorithm[src]

Gets the public key algorithm.

pub fn hash_algo(&self) -> HashAlgorithm[src]

Gets the hash algorithm.

impl Signature4[src]

pub fn new(
    typ: SignatureType,
    pk_algo: PublicKeyAlgorithm,
    hash_algo: HashAlgorithm,
    hashed_area: SubpacketArea,
    unhashed_area: SubpacketArea,
    digest_prefix: [u8; 2],
    mpis: Signature
) -> Self
[src]

Creates a new signature packet.

If you want to sign something, consider using the SignatureBuilder interface.

pub fn digest_prefix(&self) -> &[u8; 2][src]

Gets the hash prefix.

pub fn mpis(&self) -> &Signature[src]

Gets the signature packet's MPIs.

pub fn computed_digest(&self) -> Option<&[u8]>[src]

Gets the computed hash value.

pub fn level(&self) -> usize[src]

Gets the signature level.

A level of 0 indicates that the signature is directly over the data, a level of 1 means that the signature is a notarization over all level 0 signatures and the data, and so on.

pub fn exportable(&self) -> Result<()>[src]

Tests whether or not this signature is exportable.

Methods from Deref<Target = SignatureFields>

pub fn version(&self) -> u8[src]

Gets the version.

pub fn typ(&self) -> SignatureType[src]

Gets the signature type.

pub fn hash_algo(&self) -> HashAlgorithm[src]

Gets the hash algorithm.

Trait Implementations

impl Clone for Signature4[src]

impl Debug for Signature4[src]

impl Deref for Signature4[src]

type Target = SignatureFields

The resulting type after dereferencing.

impl DerefMut for Signature4[src]

impl Eq for Signature4[src]

impl From<Signature4> for SignatureBuilder[src]

impl From<Signature4> for Packet[src]

impl From<Signature4> for Signature[src]

impl Hash for Signature4[src]

impl Hash for Signature4[src]

impl Marshal for Signature4[src]

fn serialize(&self, o: &mut dyn Write) -> Result<()>[src]

Writes a serialized version of the specified Signature packet to o.

Errors

Returns Error::InvalidArgument if either the hashed-area or the unhashed-area exceeds the size limit of 2^16.

impl MarshalInto for Signature4[src]

impl PartialEq<Signature4> for Signature4[src]

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

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

Note: We ignore the unhashed subpacket area when comparing signatures. This prevents a malicious party to take valid signatures, add subpackets to the unhashed area, yielding valid but distinct signatures.

The problem we are trying to avoid here is signature spamming. Ignoring the unhashed subpackets means that we can deduplicate signatures using this predicate.

impl TryFrom<Signature> for Signature4[src]

type Error = Error

The type returned in the event of a conversion error.

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> DynClone for T where
    T: Clone
[src]

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

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

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

type Owned = T

The resulting type after obtaining ownership.

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.