12#ifndef ZYPP_PUBLICKEY_H
13#define ZYPP_PUBLICKEY_H
21#include <zypp/base/Iterable.h>
22#include <zypp/base/PtrTypes.h>
23#include <zypp/base/Exception.h>
25#include <zypp/Pathname.h>
87 explicit operator bool()
const;
91 std::string
id()
const;
148 explicit operator bool()
const;
152 std::string
id()
const;
155 std::string
name()
const;
226 bool providesKey(
const std::string & id_r )
const;
232 {
return id_r.size() >= 16; }
270 {
return !( lhs == rhs ); }
325 std::string
id()
const;
326 std::string
name()
const;
365 const std::list<PublicKeyData> &
hiddenKeys()
const;
376 bool operator==(
const std::string & sid )
const;
Exception thrown when the supplied key is not a valid gpg key.
BadKeyException(const std::string &msg_r, const Pathname &keyfile=Pathname())
Ctor taking message.
virtual ~BadKeyException()
Dtor.
BadKeyException()
Ctor taking message.
Store and operate on date (time_t).
Edition represents [epoch:]version[-release]
Base class for Exception.
Class representing one GPG Public Keys data.
friend std::ostream & dumpOn(std::ostream &str, const PublicKeyData &obj)
Date created() const
Creation / last modification date (latest selfsig).
bool expired() const
Whether the key has expired.
std::string name() const
Key name.
Iterable< SubkeyIterator > subkeys() const
Iterate any subkeys.
int daysToLive() const
Number of days (24h) until the key expires (or since it exired).
bool operator!=(const PublicKeyData &lhs, const PublicKeyData &rhs)
NotEqual.
std::string rpmName() const
Gpg-pubkey name as computed by rpm.
bool hasSubkeys() const
Whether subkeys is not empty.
PublicKeyData()
Default constructed: empty data.
Date expires() const
Expiry date, or Date() if the key never expires.
std::string algoName() const
Key algorithm string like RSA 2048
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
const PublicSubkeyData * SubkeyIterator
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 id() const
Key ID.
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)
static PublicKeyData fromGpgmeKey(_gpgme_key *data)
std::string expiresAsString() const
base::DrunkenBishop AsciiArt
Random art fingerprint visualization type (base::DrunkenBishop).
AsciiArt asciiArt() const
Random art fingerprint visualization (base::DrunkenBishop).
std::string asString() const
Simple string representation.
Edition gpgPubkeyEdition() const
Gpg-pubkey Edition built from version and release.
std::ostream & operator<<(std::ostream &str, const PublicKeyData &obj)
Stream output.
Class representing one GPG Public Key (PublicKeyData + ASCII armored in a tempfile).
Pathname path() const
File containing the ASCII armored key.
Edition gpgPubkeyEdition() const
!<
PublicKeyData::SubkeyIterator SubkeyIterator
std::string expiresAsString() const
bool fileProvidesKey(const std::string &id_r) const
Extends providesKey to look at the hidden keys too.
bool operator==(const PublicKey &rhs) const
AsciiArt asciiArt() const
!<
RWCOW_pointer< Impl > _pimpl
Pointer to implementation.
PublicKeyData::AsciiArt AsciiArt
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)
!<
std::string rpmName() const
const PublicKeyData & keyData() const
The public keys data (.
std::string gpgPubkeyRelease() const
std::string asString() const
std::string fingerprint() const
std::ostream & operator<<(std::ostream &str, const PublicKey &obj)
Stream output.
std::string algoName() const
std::string gpgPubkeyVersion() const
bool operator!=(const std::string &sid) const
bool operator!=(const PublicKey &rhs) 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.
friend std::ostream & dumpOn(std::ostream &str, const PublicKeyData &obj)
RWCOW_pointer< Impl > _pimpl
std::string id() const
Subkey ID.
PublicSubkeyData()
Default constructed: empty data.
std::ostream & operator<<(std::ostream &str, const PublicSubkeyData &obj)
Stream output.
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.
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.
Easy-to use interface to the ZYPP dependency resolver.
bool operator==(const Url &lhs, const Url &rhs)
needed for find
std::ostream & dumpOn(std::ostream &str, const Capability &obj)
PublicKeyData implementation.
PublicKey implementation.
PublicSubkeyData implementation.
RW_pointer supporting 'copy on write' functionality.