libzypp
17.25.6
|
Gpg key handling. More...
#include <KeyRing.h>
Classes | |
struct | Impl |
KeyRing 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 &) |
Stream output. More... | |
![]() | |
void | intrusive_ptr_add_ref (const ReferenceCounted *ptr_r) |
intrusive_ptr hook to add_ref. More... | |
void | intrusive_ptr_release (const ReferenceCounted *ptr_r) |
intrusive_ptr hook to release. More... | |
std::ostream & | operator<< (std::ostream &str, const ReferenceCounted &obj) |
Stream output. More... | |
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... | |
RW_pointer< Impl > | _pimpl |
Pointer to implementation. More... | |
ZYPP_DECLARE_FLAGS (DefaultAccept, DefaultAcceptBits) | |
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... | |
PublicKeyData | trustedPublicKeyData (const std::string &id) |
Get a trusted public key's 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) |
bool | provideAndImportKeyFromRepositoryWorkflow (const std::string &id, const RepoInfo &info) |
Try to find the id in key cache or repository specified in info. More... | |
~KeyRing () | |
Dtor. More... | |
static DefaultAccept | defaultAccept () |
Get the active accept bits. More... | |
static void | setDefaultAccept (DefaultAccept value_r) |
Set the active accept bits. More... | |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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 635 of file KeyRing.cc.
zypp::KeyRing::~KeyRing | ( | ) |
Dtor.
Definition at line 639 of file KeyRing.cc.
zypp::KeyRing::ZYPP_DECLARE_FLAGS | ( | DefaultAccept | , |
DefaultAcceptBits | |||
) |
|
static |
Get the active accept bits.
Definition at line 51 of file KeyRing.cc.
|
static |
Set the active accept bits.
Definition at line 54 of file KeyRing.cc.
Initial import from RpmDb.
Definition at line 646 of file KeyRing.cc.
|
inline |
|
inline |
void zypp::KeyRing::dumpPublicKey | ( | const std::string & | id, |
bool | trusted, | ||
std::ostream & | stream | ||
) |
Definition at line 687 of file KeyRing.cc.
PublicKey zypp::KeyRing::exportPublicKey | ( | const PublicKeyData & | keyData | ) |
Export a public key identified by its key data.
Definition at line 690 of file KeyRing.cc.
PublicKey zypp::KeyRing::exportTrustedPublicKey | ( | const PublicKeyData & | keyData | ) |
Export a trusted public key identified by its key data.
Definition at line 693 of file KeyRing.cc.
std::string zypp::KeyRing::readSignatureKeyId | ( | const Pathname & | signature | ) |
reads the public key id from a signature
Definition at line 649 of file KeyRing.cc.
bool zypp::KeyRing::isKeyTrusted | ( | const std::string & | id | ) |
true if the key id is trusted
Definition at line 696 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 699 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 652 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 655 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 658 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 661 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 664 of file KeyRing.cc.
PublicKeyData zypp::KeyRing::trustedPublicKeyData | ( | const std::string & | id | ) |
Get a trusted public key's data in the keyring (key data only)
Definition at line 667 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 670 of file KeyRing.cc.
bool zypp::KeyRing::verifyFileSignatureWorkflow | ( | const Pathname & | file, |
const std::string | filedesc, | ||
const Pathname & | signature, | ||
const KeyContext & | keycontext = KeyContext() |
||
) |
Definition at line 673 of file KeyRing.cc.
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 676 of file KeyRing.cc.
bool zypp::KeyRing::verifyFileTrustedSignature | ( | const Pathname & | file, |
const Pathname & | signature | ||
) |
Definition at line 679 of file KeyRing.cc.
bool zypp::KeyRing::provideAndImportKeyFromRepositoryWorkflow | ( | const std::string & | id, |
const RepoInfo & | info | ||
) |
Try to find the id in key cache or repository specified in info.
Ask the user to trust the key if it was found
Definition at line 682 of file KeyRing.cc.
|
friend |
|
related |
|
private |