libzypp  17.8.0
zypp::KeyRingReport Struct Reference

Callbacks from signature verification workflow. More...

#include <KeyRing.h>

Inheritance diagram for zypp::KeyRingReport:

Public Types

enum  KeyTrust { KEY_DONT_TRUST = 0, KEY_TRUST_TEMPORARILY, KEY_TRUST_AND_IMPORT }
 User reply options for the askUserToTrustKey callback. More...
 
- Public Types inherited from zypp::callback::ReportBase
typedef callback::UserData UserData
 
typedef UserData::ContentType ContentType
 

Public Member Functions

virtual KeyTrust askUserToAcceptKey (const PublicKey &key, const KeyContext &keycontext=KeyContext())
 Ask user to trust and/or import the key to trusted keyring. More...
 
virtual void infoVerify (const std::string &file_r, const PublicKeyData &keyData_r, const KeyContext &keycontext=KeyContext())
 Informal callback showing the trusted key that will be used for verification. More...
 
virtual bool askUserToAcceptUnsignedFile (const std::string &file, const KeyContext &keycontext=KeyContext())
 
virtual bool askUserToAcceptUnknownKey (const std::string &file, const std::string &id, const KeyContext &keycontext=KeyContext())
 we DONT know the key, only its id, but we have never seen it, the difference with trust key is that if you dont have it, you can't import it later. More...
 
virtual bool askUserToAcceptVerificationFailed (const std::string &file, const PublicKey &key, const KeyContext &keycontext=KeyContext())
 The file filedesc is signed but the verification failed. More...
 
bool askUserToAcceptPackageKey (const PublicKey &key_r, const KeyContext &keycontext_r=KeyContext())
 Ask user to trust and/or import the package key to trusted keyring, using ReportBase::report. More...
 
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. More...
 
- Public Member Functions inherited from zypp::callback::ReportBase
virtual void report (const UserData &userData_r=UserData())
 The most generic way of sending/receiving data. More...
 
virtual ~ReportBase ()
 

Related Functions

(Note that these are not member functions.)

static constexpr const char * ACCEPT_PACKAGE_KEY_REQUEST = "KeyRingReport/AcceptPackageKey"
 
static constexpr const char * KEYS_NOT_IMPORTED_REPORT = "KeyRingReport/KeysNotImported"
 

Detailed Description

Callbacks from signature verification workflow.

Per default all methods answer false. This may be canged by calling KeyRing::setDefaultAccept.

See also
KeyRing

Definition at line 44 of file KeyRing.h.

Member Enumeration Documentation

◆ KeyTrust

User reply options for the askUserToTrustKey callback.

Parameters
filedesName of the file (repo alias) or filename if not available
Enumerator
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.

User has chosen to continue, but not import the key.

KEY_TRUST_AND_IMPORT 

Import the key.

This means saving the key in the trusted database so next run it will appear as trusted. Nothing to do with KEY_TRUST_TEMPORARILY, as you CAN trust a key without importing it, basically you will be asked every time again. There are programs who prefer to manage the trust keyring on their own and use trustKey without importing it into rpm.

Definition at line 51 of file KeyRing.h.

Member Function Documentation

◆ askUserToAcceptKey()

KeyRingReport::KeyTrust zypp::KeyRingReport::askUserToAcceptKey ( const PublicKey key,
const KeyContext keycontext = KeyContext() 
)
virtual

Ask user to trust and/or import the key to trusted keyring.

See also
KeyTrust

Definition at line 67 of file KeyRing.cc.

◆ infoVerify()

void zypp::KeyRingReport::infoVerify ( const std::string &  file_r,
const PublicKeyData keyData_r,
const KeyContext keycontext = KeyContext() 
)
virtual

Informal callback showing the trusted key that will be used for verification.

Definition at line 60 of file KeyRing.cc.

◆ askUserToAcceptUnsignedFile()

bool zypp::KeyRingReport::askUserToAcceptUnsignedFile ( const std::string &  file,
const KeyContext keycontext = KeyContext() 
)
virtual

Definition at line 63 of file KeyRing.cc.

◆ askUserToAcceptUnknownKey()

bool zypp::KeyRingReport::askUserToAcceptUnknownKey ( const std::string &  file,
const std::string &  id,
const KeyContext keycontext = KeyContext() 
)
virtual

we DONT know the key, only its id, but we have never seen it, the difference with trust key is that if you dont have it, you can't import it later.

The answer means continue yes or no?

Definition at line 76 of file KeyRing.cc.

◆ askUserToAcceptVerificationFailed()

bool zypp::KeyRingReport::askUserToAcceptVerificationFailed ( const std::string &  file,
const PublicKey key,
const KeyContext keycontext = KeyContext() 
)
virtual

The file filedesc is signed but the verification failed.

Parameters
filedescFilename or its description.

Definition at line 79 of file KeyRing.cc.

◆ askUserToAcceptPackageKey()

bool zypp::KeyRingReport::askUserToAcceptPackageKey ( const PublicKey key_r,
const KeyContext keycontext_r = KeyContext() 
)

Ask user to trust and/or import the package key to trusted keyring, using ReportBase::report.

The UserData object will have the following fields: UserData::type PublicKey The PublicKey to be accepted "KeyContext" The KeyContext

Userdata accepted: "TrustKey" bool user can either trust or not trust the key

See also
KeyTrust
ReportBase::report
Note
this is a non virtual function and will use ReportBase::report to send the report.

Definition at line 82 of file KeyRing.cc.

◆ reportNonImportedKeys()

void zypp::KeyRingReport::reportNonImportedKeys ( const std::set< Edition > &  keys_r)

Notify the user about keys that were not imported from the rpm key database into zypp keyring.

The UserData object will have the following fields: UserData::type KEYS_NOT_IMPORTED_REPORT std::set<Edition> "Keys" set of keys that were not imported

Definition at line 94 of file KeyRing.cc.

Friends And Related Function Documentation

◆ ACCEPT_PACKAGE_KEY_REQUEST

constexpr const char* ACCEPT_PACKAGE_KEY_REQUEST = "KeyRingReport/AcceptPackageKey"
related

generic reports UserData::type

Definition at line 117 of file KeyRing.h.

◆ KEYS_NOT_IMPORTED_REPORT

constexpr const char* KEYS_NOT_IMPORTED_REPORT = "KeyRingReport/KeysNotImported"
related

generic reports UserData::type

Definition at line 130 of file KeyRing.h.


The documentation for this struct was generated from the following files: