Struct pgp::packet::SignatureConfig
source · pub struct SignatureConfig {
pub version: SignatureVersion,
pub typ: SignatureType,
pub pub_alg: PublicKeyAlgorithm,
pub hash_alg: HashAlgorithm,
pub unhashed_subpackets: Vec<Subpacket>,
pub hashed_subpackets: Vec<Subpacket>,
pub created: Option<DateTime<Utc>>,
pub issuer: Option<KeyId>,
}
Fields§
§version: SignatureVersion
§typ: SignatureType
§pub_alg: PublicKeyAlgorithm
§hash_alg: HashAlgorithm
§unhashed_subpackets: Vec<Subpacket>
§hashed_subpackets: Vec<Subpacket>
§created: Option<DateTime<Utc>>
§issuer: Option<KeyId>
Implementations§
source§impl SignatureConfig
impl SignatureConfig
pub fn new_v4( version: SignatureVersion, typ: SignatureType, pub_alg: PublicKeyAlgorithm, hash_alg: HashAlgorithm, hashed_subpackets: Vec<Subpacket>, unhashed_subpackets: Vec<Subpacket> ) -> Self
sourcepub fn sign<F, R>(
self,
key: &impl SecretKeyTrait,
key_pw: F,
data: R
) -> Result<Signature>
pub fn sign<F, R>( self, key: &impl SecretKeyTrait, key_pw: F, data: R ) -> Result<Signature>
Sign the given data.
sourcepub fn sign_certification<F>(
self,
key: &impl SecretKeyTrait,
key_pw: F,
tag: Tag,
id: &impl Serialize
) -> Result<Signature>
pub fn sign_certification<F>( self, key: &impl SecretKeyTrait, key_pw: F, tag: Tag, id: &impl Serialize ) -> Result<Signature>
Create a certification siganture.
sourcepub fn sign_key_binding<F>(
self,
signing_key: &impl SecretKeyTrait,
key_pw: F,
key: &impl PublicKeyTrait
) -> Result<Signature>
pub fn sign_key_binding<F>( self, signing_key: &impl SecretKeyTrait, key_pw: F, key: &impl PublicKeyTrait ) -> Result<Signature>
Sign a key binding.
sourcepub fn sign_key<F>(
self,
signing_key: &impl SecretKeyTrait,
key_pw: F,
key: &impl PublicKeyTrait
) -> Result<Signature>
pub fn sign_key<F>( self, signing_key: &impl SecretKeyTrait, key_pw: F, key: &impl PublicKeyTrait ) -> Result<Signature>
Signs a direct key signature or a revocation.
sourcepub fn typ(&self) -> SignatureType
pub fn typ(&self) -> SignatureType
Returns what kind of signature this is.
sourcepub fn hash_signature_data(&self, hasher: &mut dyn Hasher) -> Result<usize>
pub fn hash_signature_data(&self, hasher: &mut dyn Hasher) -> Result<usize>
Calcluate the serialized version of this packet, but only the part relevant for hashing.
pub fn hash_data_to_sign<R>(
&self,
hasher: &mut dyn Hasher,
data: R
) -> Result<usize>where
R: Read,
pub fn trailer(&self, len: usize) -> Result<Vec<u8>>
sourcepub fn subpackets(&self) -> impl Iterator<Item = &Subpacket>
👎Deprecated: Usually only hashed_subpackets should be used. unhashed_subpackets are only safe and useful to access in rare circumstances. When they are needed, unhashed_subpackets should be explicitly called.
pub fn subpackets(&self) -> impl Iterator<Item = &Subpacket>
Returns an iterator of all subpackets in the signature: all subpackets in the hashed area followed by all subpackets in the unhashed area.
sourcepub fn hashed_subpackets(&self) -> impl Iterator<Item = &Subpacket>
pub fn hashed_subpackets(&self) -> impl Iterator<Item = &Subpacket>
Returns an iterator over the hashed subpackets of this signature.
sourcepub fn unhashed_subpackets(&self) -> impl Iterator<Item = &Subpacket>
pub fn unhashed_subpackets(&self) -> impl Iterator<Item = &Subpacket>
Returns an iterator over the unhashed subpackets of this signature.
sourcepub fn is_certification(&self) -> bool
pub fn is_certification(&self) -> bool
Returns if the signature is a certification or not.
sourcepub fn created(&self) -> Option<&DateTime<Utc>>
pub fn created(&self) -> Option<&DateTime<Utc>>
Signature Creation Time.
The time the signature was made. MUST be present in the hashed area.
https://datatracker.ietf.org/doc/html/rfc4880#section-5.2.3.4
Returns the first Signature Creation Time subpacket, only from the hashed area.
sourcepub fn issuer(&self) -> Vec<&KeyId>
pub fn issuer(&self) -> Vec<&KeyId>
Issuer.
The OpenPGP Key ID of the key issuing the signature.
https://datatracker.ietf.org/doc/html/rfc4880#section-5.2.3.5
Returns Issuer subpacket data from both the hashed and unhashed area.
sourcepub fn issuer_fingerprint(&self) -> Vec<&[u8]>
pub fn issuer_fingerprint(&self) -> Vec<&[u8]>
Issuer Fingerprint.
The OpenPGP Key fingerprint of the key issuing the signature.
This subpacket type was introduced after RFC 4880, in the RFC 4880-bis lifecycle. It sees some use in the wild for v4 signatures, in both the hashed and unhashed areas.
https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-rfc4880bis-10#name-issuer-fingerprint
Returns Issuer Fingerprint subpacket data from both the hashed and unhashed area.
Trait Implementations§
source§impl Clone for SignatureConfig
impl Clone for SignatureConfig
source§fn clone(&self) -> SignatureConfig
fn clone(&self) -> SignatureConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SignatureConfig
impl Debug for SignatureConfig
source§impl PartialEq for SignatureConfig
impl PartialEq for SignatureConfig
source§fn eq(&self, other: &SignatureConfig) -> bool
fn eq(&self, other: &SignatureConfig) -> bool
self
and other
values to be equal, and is used
by ==
.