28#include <zypp-common/PublicKey.h>
29#include <zypp-common/KeyRingException.h>
79 virtual KeyTrust askUserToAcceptKey(
const PublicKey &key,
const KeyContext &keycontext =
KeyContext() );
82 virtual void infoVerify(
const std::string & file_r,
const PublicKeyData & keyData_r,
const KeyContext &keycontext =
KeyContext() );
84 virtual bool askUserToAcceptUnsignedFile(
const std::string &file,
const KeyContext &keycontext =
KeyContext() );
92 virtual bool askUserToAcceptUnknownKey(
const std::string &file,
const std::string &
id,
const KeyContext &keycontext =
KeyContext() );
99 virtual bool askUserToAcceptVerificationFailed(
const std::string &file,
const PublicKey &key,
const KeyContext &keycontext =
KeyContext() );
117 bool askUserToAcceptPackageKey(
const PublicKey &key_r,
const KeyContext &keycontext_r =
KeyContext() );
148 const PublicKeyData & keySigning_r,
215 void importKey(
const PublicKey &key,
bool trusted =
false);
226 void dumpPublicKey(
const std::string &
id,
bool trusted, std::ostream &stream );
229 PublicKey exportPublicKey(
const PublicKeyData & keyData );
232 PublicKey exportTrustedPublicKey(
const PublicKeyData & keyData );
237 std::string readSignatureKeyId(
const Pathname &signature );
242 bool isKeyTrusted(
const std::string &
id );
248 bool isKeyKnown(
const std::string &
id );
254 void deleteKey(
const std::string &
id,
bool trusted =
false );
259 std::list<PublicKey> publicKeys();
264 std::list<PublicKey> trustedPublicKeys();
269 std::list<PublicKeyData> publicKeyData();
274 std::list<PublicKeyData> trustedPublicKeyData();
279 PublicKeyData publicKeyData(
const std::string &
id );
284 PublicKeyData trustedPublicKeyData(
const std::string &
id );
304 void allowPreload(
bool yesno_r );
std::ostream & operator<<(std::ostream &str, const KeyRing &)
Stream output.
ZYPP_DECLARE_FLAGS(DefaultAccept, DefaultAcceptBits)
static DefaultAccept defaultAccept()
Get the active accept bits.
void dumpTrustedPublicKey(const std::string &id, std::ostream &stream)
void dumpPublicKey(const std::string &id, bool trusted, std::ostream &stream)
friend std::ostream & operator<<(std::ostream &str, const KeyRing &obj)
void multiKeyImport(const Pathname &keyfile_r, bool trusted_r=false)
Initial import from RpmDb.
KeyRing(const Pathname &baseTmpDir)
Default ctor.
void dumpUntrustedPublicKey(const std::string &id, std::ostream &stream)
void importKey(const PublicKey &key, bool trusted=false)
imports a key from a file.
RW_pointer< Impl > _pimpl
Pointer to implementation.
static void setDefaultAccept(DefaultAccept value_r)
Set the active accept bits.
DefaultAcceptBits
DefaultAccept flags (
@ ACCEPT_VERIFICATION_FAILED
Base class for reference counted objects.
String related utilities and Regular expression matching.
boost::noncopyable NonCopyable
Ensure derived classes cannot be copied.
Easy-to use interface to the ZYPP dependency resolver.
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API
Callbacks from signature verification workflow.
void reportNonImportedKeys(const std::set< Edition > &keys_r)
Notify the user about keys that were not imported from the rpm key database into zypp keyring.
KeyTrust
User reply options for the askUserToTrustKey callback.
@ KEY_TRUST_AND_IMPORT
Import the key.
@ KEY_DONT_TRUST
User has chosen not to trust the key.
@ KEY_TRUST_TEMPORARILY
This basically means, we knew the key, but it was not trusted.
static constexpr const char * REPORT_AUTO_IMPORT_KEY
generic reports UserData::type
static constexpr const char * ACCEPT_PACKAGE_KEY_REQUEST
generic reports UserData::type
static constexpr const char * KEYS_NOT_IMPORTED_REPORT
generic reports UserData::type
void reportAutoImportKey(const std::list< PublicKeyData > &keyDataList_r, const PublicKeyData &keySigning_r, const KeyContext &keyContext_r)
Notify that a repository auto imported new package signing keys.
virtual void trustedKeyAdded(const PublicKey &)
virtual void trustedKeyRemoved(const PublicKey &)
Wrapper for const correct access via Smart pointer types.
Internal connection to rpm database.
#define ZYPP_DECLARE_OPERATORS_FOR_FLAGS(Name)
#define DEFINE_PTR_TYPE(NAME)
Forward declaration of Ptr types.