libzypp
15.28.6
|
Gpg key handling. More...
#include <KeyRing.h>
Classes | |
struct | Impl |
KeyRing implementation. More... | |
Public Member Functions | |
KeyRing (const Pathname &baseTmpDir) | |
Default ctor. More... | |
void | importKey (const PublicKey &key, bool trusted=false) |
imports a key from a file. More... | |
void | multiKeyImport (const Pathname &keyfile_r, bool trusted_r=false) |
Initial import from RpmDb. More... | |
void | dumpTrustedPublicKey (const std::string &id, std::ostream &stream) |
void | dumpUntrustedPublicKey (const std::string &id, std::ostream &stream) |
void | dumpPublicKey (const std::string &id, bool trusted, std::ostream &stream) |
PublicKey | exportPublicKey (const PublicKeyData &keyData) |
Export a public key identified by its key data. More... | |
PublicKey | exportTrustedPublicKey (const PublicKeyData &keyData) |
Export a trusted public key identified by its key data. More... | |
std::string | readSignatureKeyId (const Pathname &signature) |
reads the public key id from a signature More... | |
bool | isKeyTrusted (const std::string &id) |
true if the key id is trusted More... | |
bool | isKeyKnown (const std::string &id) |
true if the key id is knows, that means at least exist on the untrusted keyring More... | |
void | deleteKey (const std::string &id, bool trusted=false) |
removes a key from the keyring. More... | |
std::list< PublicKey > | publicKeys () |
Get a list of public keys in the keyring (incl. More... | |
std::list< PublicKey > | trustedPublicKeys () |
Get a list of trusted public keys in the keyring (incl. More... | |
std::list< PublicKeyData > | publicKeyData () |
Get a list of public key data in the keyring (key data only) More... | |
std::list< PublicKeyData > | trustedPublicKeyData () |
Get a list of trusted public key data in the keyring (key data only) More... | |
bool | verifyFileSignatureWorkflow (const Pathname &file, const std::string &filedesc, const Pathname &signature, bool &sigValid_r, const KeyContext &keycontext=KeyContext()) |
Follows a signature verification interacting with the user. More... | |
bool | verifyFileSignatureWorkflow (const Pathname &file, const std::string filedesc, const Pathname &signature, const KeyContext &keycontext=KeyContext()) |
bool | verifyFileSignature (const Pathname &file, const Pathname &signature) |
Verifies a file against a signature, with no user interaction. More... | |
bool | verifyFileTrustedSignature (const Pathname &file, const Pathname &signature) |
~KeyRing () | |
Dtor. More... | |
Public Member Functions inherited from zypp::base::ReferenceCounted | |
ReferenceCounted () | |
Default ctor. More... | |
ReferenceCounted (const ReferenceCounted &rhs) | |
Copy ctor. More... | |
virtual | ~ReferenceCounted () |
Dtor. More... | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Assignment. More... | |
unsigned | refCount () const |
Return reference counter value. More... | |
void | ref () const |
Add a reference. More... | |
void | unref () const |
Release a reference. More... | |
Private Attributes | |
RW_pointer< Impl > | _pimpl |
Pointer to implementation. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &str, const KeyRing &obj) |
Related Functions | |
(Note that these are not member functions.) | |
std::ostream & | operator<< (std::ostream &str, const KeyRing &) |
Related Functions inherited from zypp::base::ReferenceCounted | |
void | intrusive_ptr_add_ref (const ReferenceCounted *ptr_r) |
void | intrusive_ptr_release (const ReferenceCounted *ptr_r) |
std::ostream & | operator<< (std::ostream &str, const ReferenceCounted &obj) |
Default answers in verification workflow. | |
enum | DefaultAcceptBits { ACCEPT_NOTHING = 0x0000, ACCEPT_UNSIGNED_FILE = 0x0001, ACCEPT_UNKNOWNKEY = 0x0002, TRUST_KEY_TEMPORARILY = 0x0004, TRUST_AND_IMPORT_KEY = 0x0008, ACCEPT_VERIFICATION_FAILED = 0x0010 } |
DefaultAccept flags ( More... | |
ZYPP_DECLARE_FLAGS (DefaultAccept, DefaultAcceptBits) | |
static DefaultAccept | defaultAccept () |
Get the active accept bits. More... | |
static void | setDefaultAccept (DefaultAccept value_r) |
Set the active accept bits. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from zypp::base::ReferenceCounted | |
static void | add_ref (const ReferenceCounted *ptr_r) |
Called by zypp::intrusive_ptr to add a reference. More... | |
static void | release (const ReferenceCounted *ptr_r) |
Called by zypp::intrusive_ptr to add a reference. More... | |
Protected Member Functions inherited from zypp::base::ReferenceCounted | |
virtual std::ostream & | dumpOn (std::ostream &str) const |
Overload to realize std::ostream & operator<<. More... | |
virtual void | ref_to (unsigned) const |
Trigger derived classes after refCount was increased. More... | |
virtual void | unref_to (unsigned) const |
Trigger derived classes after refCount was decreased. More... | |
DefaultAccept flags (
Enumerator | |
---|---|
ACCEPT_NOTHING | |
ACCEPT_UNSIGNED_FILE | |
ACCEPT_UNKNOWNKEY | |
TRUST_KEY_TEMPORARILY | |
TRUST_AND_IMPORT_KEY | |
ACCEPT_VERIFICATION_FAILED |
zypp::KeyRing::KeyRing | ( | const Pathname & | baseTmpDir | ) |
Default ctor.
Definition at line 640 of file KeyRing.cc.
zypp::KeyRing::~KeyRing | ( | ) |
Dtor.
Definition at line 644 of file KeyRing.cc.
zypp::KeyRing::ZYPP_DECLARE_FLAGS | ( | DefaultAccept | , |
DefaultAcceptBits | |||
) |
|
static |
Get the active accept bits.
Definition at line 52 of file KeyRing.cc.
|
static |
Set the active accept bits.
Definition at line 55 of file KeyRing.cc.
void zypp::KeyRing::multiKeyImport | ( | const Pathname & | keyfile_r, |
bool | trusted_r = false |
||
) |
Initial import from RpmDb.
Definition at line 651 of file KeyRing.cc.
|
inline |
|
inline |
void zypp::KeyRing::dumpPublicKey | ( | const std::string & | id, |
bool | trusted, | ||
std::ostream & | stream | ||
) |
Definition at line 684 of file KeyRing.cc.
PublicKey zypp::KeyRing::exportPublicKey | ( | const PublicKeyData & | keyData | ) |
Export a public key identified by its key data.
Definition at line 687 of file KeyRing.cc.
PublicKey zypp::KeyRing::exportTrustedPublicKey | ( | const PublicKeyData & | keyData | ) |
Export a trusted public key identified by its key data.
Definition at line 690 of file KeyRing.cc.
std::string zypp::KeyRing::readSignatureKeyId | ( | const Pathname & | signature | ) |
reads the public key id from a signature
Definition at line 654 of file KeyRing.cc.
bool zypp::KeyRing::isKeyTrusted | ( | const std::string & | id | ) |
true if the key id is trusted
Definition at line 693 of file KeyRing.cc.
bool zypp::KeyRing::isKeyKnown | ( | const std::string & | id | ) |
true if the key id is knows, that means at least exist on the untrusted keyring
Definition at line 696 of file KeyRing.cc.
void zypp::KeyRing::deleteKey | ( | const std::string & | id, |
bool | trusted = false |
||
) |
removes a key from the keyring.
If trusted is true, Remove it from trusted keyring too.
Definition at line 657 of file KeyRing.cc.
std::list< PublicKey > zypp::KeyRing::publicKeys | ( | ) |
Get a list of public keys in the keyring (incl.
ASCII armored keys in tmpfiles)
Definition at line 660 of file KeyRing.cc.
std::list< PublicKey > zypp::KeyRing::trustedPublicKeys | ( | ) |
Get a list of trusted public keys in the keyring (incl.
ASCII armored keys in tmpfiles)
Definition at line 663 of file KeyRing.cc.
std::list< PublicKeyData > zypp::KeyRing::publicKeyData | ( | ) |
Get a list of public key data in the keyring (key data only)
Definition at line 666 of file KeyRing.cc.
std::list< PublicKeyData > zypp::KeyRing::trustedPublicKeyData | ( | ) |
Get a list of trusted public key data in the keyring (key data only)
Definition at line 669 of file KeyRing.cc.
bool zypp::KeyRing::verifyFileSignatureWorkflow | ( | const Pathname & | file, |
const std::string & | filedesc, | ||
const Pathname & | signature, | ||
bool & | sigValid_r, | ||
const KeyContext & | keycontext = KeyContext() |
||
) |
Follows a signature verification interacting with the user.
The bool returned depends on user decision to trust or not.
To propagate user decisions, either connect to the KeyRingReport or use its static methods to set the desired defaults.
A second bool passed as reference arg sigValid_r tells whether the signature was actually successfully verified. If sigValid_r returns false
, but the method true
, you know it's due to user callback or defaults.
file | Path of the file to be verified |
filedesc | Description of the file (to give the user some context) |
signature | Signature to verify the file against |
sigValid_r | Returns whether signature was successfully verified |
Definition at line 672 of file KeyRing.cc.
bool zypp::KeyRing::verifyFileSignatureWorkflow | ( | const Pathname & | file, |
const std::string | filedesc, | ||
const Pathname & | signature, | ||
const KeyContext & | keycontext = KeyContext() |
||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 675 of file KeyRing.cc.
bool zypp::KeyRing::verifyFileSignature | ( | const Pathname & | file, |
const Pathname & | signature | ||
) |
Verifies a file against a signature, with no user interaction.
file | Path of the file to be verified |
signature | Signature to verify the file against |
Definition at line 678 of file KeyRing.cc.
bool zypp::KeyRing::verifyFileTrustedSignature | ( | const Pathname & | file, |
const Pathname & | signature | ||
) |
Definition at line 681 of file KeyRing.cc.
|
friend |
|
related |
|
private |