[−][src]Struct sequoia_openpgp::TSK
A transferable secret key (TSK).
A TSK (see RFC 4880, section 11.2) can be used to create signatures and decrypt data.
Methods
impl TSK
[src]
pub fn from_packet_parser<'a>(ppr: PacketParserResult<'a>) -> Result<Self>
[src]
Initializes a TSK
from a PacketParser
.
pub fn new<'a, O: Into<Option<Cow<'a, str>>>>(
primary_uid: O
) -> Result<(TSK, Signature)>
[src]
primary_uid: O
) -> Result<(TSK, Signature)>
Generates a new key OpenPGP key. The key will be capable of encryption and signing. If no user id is given the primary self signature will be a direct key signature.
pub fn tpk<'a>(&'a self) -> &'a TPK
[src]
Returns a reference to the corresponding TPK.
pub fn into_tpk(self) -> TPK
[src]
Converts to a TPK.
pub fn certify_userid(&self, key: &Key, userid: &UserID) -> Result<Signature>
[src]
Signs key
and userid
with a 3rd party certification.
pub fn certify_key(&self, key: &TPK) -> Result<Signature>
[src]
Signs the primary key's self signatures of key
.
Methods from Deref<Target = TPK>
pub fn primary(&self) -> &Key
[src]
Returns a reference to the primary key.
pub fn primary_key_signature_full(
&self
) -> Option<(Option<&UserIDBinding>, &Signature)>
[src]
&self
) -> Option<(Option<&UserIDBinding>, &Signature)>
Returns the primary key's current self-signature and, if it
belong to a user id, a reference to the UserIDBinding
.
Normally, the primary key's current self-signature is the primary user id's newest, non-revoked self-signature. However, if all user ids are revoked and there is a direct signature, that is returned. If there is no direct signature, then we return the newest self-signature on the most recently revoked user id (i.e., the binding signature that was last valid). If there are no user ids at all and no direct signatures, then we return None.
pub fn primary_key_signature(&self) -> Option<&Signature>
[src]
Returns the primary key's current self-signature.
This function is identical to
TPK::primary_key_signature_full()
, but it doesn't return the
UserIDBinding
.
pub fn revoked(&self) -> RevocationStatus
[src]
Returns the TPK's revocation status.
Note: this only returns whether the primary key is revoked. If you want to know whether a subkey, user id, etc., is revoked, then you need to query them separately.
pub fn revoke(
&self,
code: ReasonForRevocation,
reason: &[u8]
) -> Result<Signature>
[src]
&self,
code: ReasonForRevocation,
reason: &[u8]
) -> Result<Signature>
Returns a revocation certificate for the TPK.
pub fn expired(&self) -> bool
[src]
Returns whether or not the TPK has expired.
pub fn expired_at(&self, tm: Tm) -> bool
[src]
Returns whether or not the key is expired at the given time.
pub fn alive(&self) -> bool
[src]
Returns whether or not the TPK is alive.
pub fn alive_at(&self, tm: Tm) -> bool
[src]
Returns whether or not the key is alive at the given time.
ⓘImportant traits for UserIDBindingIter<'a>pub fn userids(&self) -> UserIDBindingIter
[src]
Returns an iterator over the TPK's valid UserIDBinding
s.
The primary user id is returned first. A valid
UserIDBinding
has at least one good self-signature.
ⓘImportant traits for UserAttributeBindingIter<'a>pub fn user_attributes(&self) -> UserAttributeBindingIter
[src]
Returns an iterator over the TPK's valid UserAttributeBinding
s.
A valid UserIDAttributeBinding
has at least one good
self-signature.
ⓘImportant traits for SubkeyBindingIter<'a>pub fn subkeys(&self) -> SubkeyBindingIter
[src]
Returns an iterator over the TPK's valid subkeys.
A valid SubkeyBinding
has at least one good self-signature.
ⓘImportant traits for KeyIter<'a>pub fn keys(&self) -> KeyIter
[src]
Returns an iterator over all of the TPK's valid keys.
That is, this returns an iterator over the primary key and any subkeys, along with the corresponding signatures.
Note: since a primary key is different from a binding, the
iterator is over Key
s and not SubkeyBindings
.
Furthermore, the primary key has no binding signature. Here,
the signature carrying the primary key's key flags is
returned. There are corner cases where no such signature
exists (e.g. partial TPKs), therefore this iterator may return
None
for the primary key's signature.
A valid Key
has at least one good self-signature.
pub fn select_keys<'a, T>(&'a self, cap: KeyFlags, now: T) -> Vec<&'a Key> where
T: Into<Option<Tm>>,
[src]
T: Into<Option<Tm>>,
Returns all unrevoked (sub)keys that have all capabilities in cap
and
are valid now
. If now
is None
the current time is used.
Keys are sorted by creation time (newest first). If the primary key qualifies it will always be last. Using the first key should suffice for most use cases.
pub fn fingerprint(&self) -> Fingerprint
[src]
Returns the TPK's fingerprint.
pub fn is_tsk(&self) -> bool
[src]
Returns whether at least one of the keys includes a secret part.
Trait Implementations
impl Serialize for TSK
[src]
fn serialize<W: Write>(&self, o: &mut W) -> Result<()>
[src]
Serializes the TSK.
fn to_vec(&self) -> Result<Vec<u8>>
[src]
Serializes the packet to a vector.
impl<'a> Parse<'a, TSK> for TSK
[src]
fn from_reader<R: 'a + Read>(reader: R) -> Result<Self>
[src]
Initializes a TSK
from a Read
er.
fn from_file<P: AsRef<Path>>(path: P) -> Result<Self>
[src]
Initializes a TSK
from a File
.
fn from_bytes(data: &'a [u8]) -> Result<Self>
[src]
Initializes a TSK
from a byte string.
impl PartialEq<TSK> for TSK
[src]
impl Deref for TSK
[src]
impl DerefMut for TSK
[src]
impl Debug for TSK
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,