12#ifndef ZYPP_PUBLICKEY_H
13#define ZYPP_PUBLICKEY_H
88 explicit operator bool()
const;
92 std::string
id()
const;
145 explicit operator bool()
const;
149 std::string
id()
const;
152 std::string
name()
const;
214 explicit operator
bool() const;
218 std::
string id() const;
313 bool providesKey(
const std::string & id_r )
const;
319 {
return id_r.size() >= 16; }
361 {
return !( lhs == rhs ); }
416 std::string id()
const;
417 std::string name()
const;
418 std::string fingerprint()
const;
419 std::string algoName()
const;
420 Date created()
const;
421 Date expires()
const;
422 std::string expiresAsString()
const;
423 bool expired()
const;
424 int daysToLive()
const;
425 std::string gpgPubkeyVersion()
const;
426 std::string gpgPubkeyRelease()
const;
428 std::string rpmName ()
const;
431 {
return keyData().gpgPubkeyEdition(); }
434 {
return keyData().hasSubkeys(); }
437 {
return keyData().subkeys(); }
440 {
return keyData().providesKey( id_r ); }
449 {
return keyData().asciiArt(); }
459 const std::list<PublicKeyData> & hiddenKeys()
const;
464 bool fileProvidesKey(
const std::string & id_r )
const;
470 bool operator==(
const std::string & sid )
const;
BadKeyException(const std::string &msg_r, Pathname keyfile=Pathname())
Ctor taking message.
~BadKeyException() override
Dtor.
BadKeyException()
Ctor taking message.
Store and operate on date (time_t).
Edition represents [epoch:]version[-release].
Class representing one GPG Public Keys data.
Iterable< KeySignatureIterator > signatures() const
Iterate all key signatures.
Date created() const
Creation / last modification date (latest selfsig).
bool expired() const
Whether the key has expired.
std::string name() const
Key name.
bool hasSignatures() const
Whether signatures is not empty.
Iterable< SubkeyIterator > subkeys() const
Iterate any subkeys.
int daysToLive() const
Number of days (24h) until the key expires (or since it exired).
friend class KeyManagerCtx
std::string rpmName() const
Gpg-pubkey name as computed by rpm.
bool hasSubkeys() const
Whether subkeys is not empty.
bool isUpdateFor(const PublicKeyData &rhs) const
Whether this could replace rhs in a keyring.
PublicKeyData()
Default constructed: empty data.
const PublicSubkeyData * SubkeyIterator
Date expires() const
Expiry date, or Date() if the key never expires.
std::string algoName() const
Key algorithm string like RSA 2048.
PublicKeyData(const PublicKeyData &)=default
static bool isSafeKeyId(const std::string &id_r)
Whether this is a long id (64bit/16byte) or even better a fingerprint.
RWCOW_pointer< Impl > _pimpl
bool providesKey(const std::string &id_r) const
Whether id_r is the id or fingerprint of the primary key or of a subkey.
std::string fingerprint() const
Key fingerprint.
std::string gpgPubkeyRelease() const
Gpg-pubkey release as computed by rpm (hexencoded created).
std::string gpgPubkeyVersion() const
Gpg-pubkey version as computed by rpm (trailing 8 byte id).
PublicKeyData(PublicKeyData &&) noexcept=default
static PublicKeyData fromGpgmeKey(_gpgme_key *data)
std::string expiresAsString() const
AsciiArt asciiArt() const
Random art fingerprint visualization (base::DrunkenBishop).
std::string asString() const
Simple string representation.
base::DrunkenBishop AsciiArt
Random art fingerprint visualization type (base::DrunkenBishop).
Edition gpgPubkeyEdition() const
Gpg-pubkey Edition built from version and release.
const PublicKeySignatureData * KeySignatureIterator
Class representing a signature on a GPG Public Key.
Date created() const
Creation date.
std::string asString() const
Simple string representation.
PublicKeySignatureData()
Default constructed: empty data.
RWCOW_pointer< Impl > _pimpl
int daysToLive() const
Number of days (24h) until the key expires (or since it expired).
bool expired() const
Whether the key has expired.
std::string id() const
The key ID of key used to create the signature.
std::string name() const
The user ID associated with this key, if present.
Date expires() const
Expiry date, or Date() if the key never expires.
friend class PublicKeyData
Class representing one GPG Public Key (PublicKeyData + ASCII armored in a tempfile).
Edition gpgPubkeyEdition() const
!<
PublicKeyData::AsciiArt AsciiArt
AsciiArt asciiArt() const
!<
RWCOW_pointer< Impl > _pimpl
Pointer to implementation.
const std::list< PublicKeyData > & hiddenKeys() const
Additional keys data in case the ASCII armored blob contains multiple keys.
static bool isSafeKeyId(const std::string &id_r)
!<
const PublicKeyData & keyData() const
The public keys data (.
std::string asString() const
std::string fingerprint() const
bool operator!=(const std::string &sid) const
bool operator!=(const PublicKey &rhs) const
PublicKeyData::SubkeyIterator SubkeyIterator
bool hasHiddenKeys() const
static PublicKey noThrow(const Pathname &keyFile_r)
Static ctor returning an empty PublicKey rather than throwing.
bool hasSubkeys() const
!<
bool providesKey(const std::string &id_r) const
!<
Iterable< SubkeyIterator > subkeys() const
!<
Class representing a GPG Public Keys subkeys.
RWCOW_pointer< Impl > _pimpl
std::string id() const
Subkey ID.
PublicSubkeyData()
Default constructed: empty data.
int daysToLive() const
Number of days (24h) until the key expires (or since it exired).
Date expires() const
Expiry date, or Date() if the key never expires.
friend class PublicKeyData
std::string asString() const
Simple string representation.
Date created() const
Creation date.
bool expired() const
Whether the key has expired.
Random art fingerprint visualization Visualize fingerprint data on a [17x9] (SSH) or [19x11] (GPG) or...
Provide a new empty temporary file and delete it when no longer needed.
String related utilities and Regular expression matching.
Types and functions for filesystem operations.
Easy-to use interface to the ZYPP dependency resolver.
bool operator!=(const Capability &lhs, const Capability &rhs)
relates: Capability
bool operator==(const Capability &lhs, const Capability &rhs)
relates: Capability
const Arch Arch_empty ZYPP_API
relates: Arch This is an empty Arch represented by an empty string.
std::ostream & dumpOn(std::ostream &str, const Capability &obj)
relates: Capability Detailed stream output
std::string asString(const Patch::Category &obj)
relates: Patch::Category string representation.
std::ostream & operator<<(std::ostream &str, const Capabilities &obj)
relates: Capabilities Stream output
PublicKeyData implementation.
PublicKeySignatureData implementation.
PublicKey implementation.
PublicSubkeyData implementation.
RW_pointer supporting 'copy on write' functionality.