#include <KeyRing.h>
Default answers in verification workflow. | |
Per default all answers are false . | |
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. | |
static void | setDefaultAccept (DefaultAccept value_r) |
Set the active accept bits. | |
Public Member Functions | |
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). | |
std::list< std::string > | publicKeyIds () ZYPP_DEPRECATED |
Get a list of public key ids in the keyring. | |
std::list< std::string > | trustedPublicKeyIds () ZYPP_DEPRECATED |
Get a list of trusted public key ids in the keyring. | |
bool | verifyFileSignatureWorkflow (const Pathname &file, const std::string filedesc, const Pathname &signature, const KeyContext &keycontext=KeyContext()) |
Follows a signature verification interacting with the user. | |
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) |
~KeyRing () | |
Dtor. | |
Private Attributes | |
RWCOW_pointer< Impl > | _pimpl |
Pointer to implementation. | |
Friends | |
std::ostream & | operator<< (std::ostream &str, const KeyRing &obj) |
Classes | |
struct | Impl |
KeyRing implementation. More... |
Definition at line 132 of file KeyRing.h.
DefaultAccept flags (
zypp::KeyRing::KeyRing | ( | const Pathname & | baseTmpDir | ) |
zypp::KeyRing::~KeyRing | ( | ) |
zypp::KeyRing::ZYPP_DECLARE_FLAGS | ( | DefaultAccept | , | |
DefaultAcceptBits | ||||
) |
KeyRing::DefaultAccept zypp::KeyRing::defaultAccept | ( | ) | [static] |
Get the active accept bits.
Definition at line 53 of file KeyRing.cc.
References zypp::_keyRingDefaultAccept().
void zypp::KeyRing::setDefaultAccept | ( | DefaultAccept | value_r | ) | [static] |
Set the active accept bits.
Definition at line 56 of file KeyRing.cc.
References zypp::_keyRingDefaultAccept(), and MIL.
void zypp::KeyRing::importKey | ( | const PublicKey & | key, | |
bool | trusted = false | |||
) |
imports a key from a file.
throw if key was not imported
Definition at line 674 of file KeyRing.cc.
References _pimpl.
void zypp::KeyRing::multiKeyImport | ( | const Pathname & | keyfile_r, | |
bool | trusted_r = false | |||
) |
void zypp::KeyRing::dumpTrustedPublicKey | ( | const std::string & | id, | |
std::ostream & | stream | |||
) | [inline] |
void zypp::KeyRing::dumpUntrustedPublicKey | ( | const std::string & | id, | |
std::ostream & | stream | |||
) | [inline] |
void zypp::KeyRing::dumpPublicKey | ( | const std::string & | id, | |
bool | trusted, | |||
std::ostream & | stream | |||
) |
Definition at line 733 of file KeyRing.cc.
References _pimpl.
Referenced by dumpTrustedPublicKey(), and dumpUntrustedPublicKey().
PublicKey zypp::KeyRing::exportPublicKey | ( | const PublicKeyData & | keyData | ) |
Export a public key identified by its key data.
Definition at line 736 of file KeyRing.cc.
References _pimpl.
PublicKey zypp::KeyRing::exportTrustedPublicKey | ( | const PublicKeyData & | keyData | ) |
Export a trusted public key identified by its key data.
Definition at line 739 of file KeyRing.cc.
References _pimpl.
std::string zypp::KeyRing::readSignatureKeyId | ( | const Pathname & | signature | ) |
reads the public key id from a signature
Definition at line 680 of file KeyRing.cc.
References _pimpl.
bool zypp::KeyRing::isKeyTrusted | ( | const std::string & | id | ) |
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 745 of file KeyRing.cc.
References _pimpl.
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 683 of file KeyRing.cc.
References _pimpl.
std::list< PublicKey > zypp::KeyRing::publicKeys | ( | ) |
Get a list of public keys in the keyring (incl.
ASCII armored keys in tmpfiles)
Definition at line 686 of file KeyRing.cc.
References _pimpl.
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 689 of file KeyRing.cc.
References _pimpl.
std::list< PublicKeyData > zypp::KeyRing::publicKeyData | ( | ) |
Get a list of public key data in the keyring (key data only).
Definition at line 692 of file KeyRing.cc.
References _pimpl.
Referenced by publicKeyIds().
std::list< PublicKeyData > zypp::KeyRing::trustedPublicKeyData | ( | ) |
Get a list of trusted public key data in the keyring (key data only).
Definition at line 695 of file KeyRing.cc.
References _pimpl.
Referenced by trustedPublicKeyIds().
std::list< std::string > zypp::KeyRing::publicKeyIds | ( | ) |
Get a list of public key ids in the keyring.
Definition at line 698 of file KeyRing.cc.
References for_, and publicKeyData().
std::list< std::string > zypp::KeyRing::trustedPublicKeyIds | ( | ) |
Get a list of trusted public key ids in the keyring.
Definition at line 709 of file KeyRing.cc.
References for_, and trustedPublicKeyData().
bool zypp::KeyRing::verifyFileSignatureWorkflow | ( | const Pathname & | file, | |
const std::string | filedesc, | |||
const Pathname & | signature, | |||
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.
struct KeyRingReportReceive : public callback::ReceiveReport<KeyRingReport> { KeyRingReportReceive() { connect(); } // Overload the virtual methods to return the appropriate values. virtual bool askUserToAcceptUnsignedFile( const std::string &file ); ... };
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 |
Definition at line 720 of file KeyRing.cc.
References _pimpl.
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 727 of file KeyRing.cc.
References _pimpl.
bool zypp::KeyRing::verifyFileTrustedSignature | ( | const Pathname & | file, | |
const Pathname & | signature | |||
) |
std::ostream & operator<< | ( | std::ostream & | str, | |
const KeyRing & | obj | |||
) | [friend] |
RWCOW_pointer<Impl> zypp::KeyRing::_pimpl [private] |
Pointer to implementation.
Definition at line 297 of file KeyRing.h.
Referenced by deleteKey(), dumpPublicKey(), exportPublicKey(), exportTrustedPublicKey(), importKey(), isKeyKnown(), isKeyTrusted(), multiKeyImport(), publicKeyData(), publicKeys(), readSignatureKeyId(), trustedPublicKeyData(), trustedPublicKeys(), verifyFileSignature(), verifyFileSignatureWorkflow(), and verifyFileTrustedSignature().