libzypp 17.31.23
|
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. | |
Related Functions inherited from zypp::base::ReferenceCounted | |
void | intrusive_ptr_add_ref (const ReferenceCounted *ptr_r) |
intrusive_ptr hook to add_ref. | |
void | intrusive_ptr_release (const ReferenceCounted *ptr_r) |
intrusive_ptr hook to release. | |
std::ostream & | operator<< (std::ostream &str, const ReferenceCounted &obj) |
Stream output. | |
Default answers in verification workflow. | |
Per default all answers are | |
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. | |
ZYPP_DECLARE_FLAGS (DefaultAccept, DefaultAcceptBits) | |
KeyRing (const Pathname &baseTmpDir) | |
Default ctor. | |
void | importKey (const PublicKey &key, bool trusted=false) |
imports a key from a file. | |
void | multiKeyImport (const Pathname &keyfile_r, bool trusted_r=false) |
Initial import from RpmDb. | |
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. | |
PublicKey | exportTrustedPublicKey (const PublicKeyData &keyData) |
Export a trusted public key identified by its key data. | |
std::string | readSignatureKeyId (const Pathname &signature) |
reads the public key id from a signature | |
bool | isKeyTrusted (const std::string &id) |
true if the key id is trusted | |
bool | isKeyKnown (const std::string &id) |
true if the key id is knows, that means at least exist on the untrusted keyring | |
void | deleteKey (const std::string &id, bool trusted=false) |
removes a key from the keyring. | |
std::list< PublicKey > | publicKeys () |
Get a list of public keys in the keyring (incl. | |
std::list< PublicKey > | trustedPublicKeys () |
Get a list of trusted public keys in the keyring (incl. | |
std::list< PublicKeyData > | publicKeyData () |
Get a list of public key data in the keyring (key data only) | |
std::list< PublicKeyData > | trustedPublicKeyData () |
Get a list of trusted public key data in the keyring (key data only) | |
PublicKeyData | publicKeyData (const std::string &id) |
Get a public key's data in the keyring (key data only) | |
PublicKeyData | trustedPublicKeyData (const std::string &id) |
Get a trusted public key's data in the keyring (key data only) | |
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. | |
bool | verifyFileSignatureWorkflow (const Pathname &file, const std::string filedesc, const Pathname &signature, const KeyContext &keycontext=KeyContext()) |
bool | verifyFileSignatureWorkflow (keyring::VerifyFileContext &context_r) |
bool | verifyFileSignature (const Pathname &file, const Pathname &signature) |
Verifies a file against a signature, with no user interaction. | |
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. | |
~KeyRing () | |
Dtor. | |
void | allowPreload (bool yesno_r) |
The general keyring may be populated with known keys stored on the system. | |
static DefaultAccept | defaultAccept () |
Get the active accept bits. | |
static void | setDefaultAccept (DefaultAccept value_r) |
Set the active accept bits. | |
Additional Inherited Members | |
Public Member Functions inherited from zypp::base::ReferenceCounted | |
ReferenceCounted () | |
Default ctor. | |
ReferenceCounted (const ReferenceCounted &rhs) | |
Copy ctor. | |
virtual | ~ReferenceCounted () |
Dtor. | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Assignment. | |
unsigned | refCount () const |
Return reference counter value. | |
void | ref () const |
Add a reference. | |
void | unref () const |
Release a reference. | |
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. | |
static void | release (const ReferenceCounted *ptr_r) |
Called by zypp::intrusive_ptr to add a reference. | |
Protected Member Functions inherited from zypp::base::ReferenceCounted | |
virtual std::ostream & | dumpOn (std::ostream &str) const |
Overload to realize std::ostream & operator<<. | |
virtual void | ref_to (unsigned) const |
Trigger derived classes after refCount was increased. | |
virtual void | unref_to (unsigned) const |
Trigger derived classes after refCount was decreased. | |
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 798 of file KeyRing.cc.
zypp::KeyRing::~KeyRing | ( | ) |
Dtor.
Definition at line 802 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.
Initial import from RpmDb.
Definition at line 812 of file KeyRing.cc.
|
inline |
|
inline |
void zypp::KeyRing::dumpPublicKey | ( | const std::string & | id, |
bool | trusted, | ||
std::ostream & | stream | ||
) |
Definition at line 873 of file KeyRing.cc.
PublicKey zypp::KeyRing::exportPublicKey | ( | const PublicKeyData & | keyData | ) |
Export a public key identified by its key data.
Definition at line 876 of file KeyRing.cc.
PublicKey zypp::KeyRing::exportTrustedPublicKey | ( | const PublicKeyData & | keyData | ) |
Export a trusted public key identified by its key data.
Definition at line 879 of file KeyRing.cc.
std::string zypp::KeyRing::readSignatureKeyId | ( | const Pathname & | signature | ) |
reads the public key id from a signature
Definition at line 815 of file KeyRing.cc.
bool zypp::KeyRing::isKeyTrusted | ( | const std::string & | id | ) |
true if the key id is trusted
Definition at line 882 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 885 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 818 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 821 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 824 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 827 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 830 of file KeyRing.cc.
PublicKeyData zypp::KeyRing::publicKeyData | ( | const std::string & | id | ) |
Get a public key's data in the keyring (key data only)
Definition at line 833 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 836 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 839 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 850 of file KeyRing.cc.
bool zypp::KeyRing::verifyFileSignatureWorkflow | ( | keyring::VerifyFileContext & | context_r | ) |
Definition at line 859 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 862 of file KeyRing.cc.
bool zypp::KeyRing::verifyFileTrustedSignature | ( | const Pathname & | file, |
const Pathname & | signature | ||
) |
Definition at line 865 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 868 of file KeyRing.cc.
void zypp::KeyRing::allowPreload | ( | bool | yesno_r | ) |
The general keyring may be populated with known keys stored on the system.
Definition at line 805 of file KeyRing.cc.
|
friend |
|
related |
|
private |