libzypp 17.35.1
zypp::KeyRing Class Reference

Gpg key handling. More...

#include <zypp/KeyRing.h>

Inheritance diagram for zypp::KeyRing:

Classes

struct  Impl
 KeyRing implementation. More...
 

Friends

std::ostream & operator<< (std::ostream &str, const KeyRing &obj)
 

Related Symbols

(Note that these are not member symbols.)

std::ostream & operator<< (std::ostream &str, const KeyRing &)
 Stream output.
 

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...
 
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< PublicKeypublicKeys ()
 Get a list of public keys in the keyring (incl.
 
std::list< PublicKeytrustedPublicKeys ()
 Get a list of trusted public keys in the keyring (incl.
 
std::list< PublicKeyDatapublicKeyData ()
 Get a list of public key data in the keyring (key data only)
 
std::list< PublicKeyDatatrustedPublicKeyData ()
 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 verifyFileSignature (const Pathname &file, const Pathname &signature) ZYPP_API
 Verifies a file against a signature, with no user interaction.
 
bool verifyFileTrustedSignature (const Pathname &file, const Pathname &signature) ZYPP_API
 
 ~KeyRing () override
 Dtor.
 
KeyRing::Implpimpl ()
 Access to private functions for the KeyRingWorkflow implementations.
 
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.
 
ReferenceCountedoperator= (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.
 

Detailed Description

Gpg key handling.

Definition at line 186 of file KeyRing.h.

Member Enumeration Documentation

◆ DefaultAcceptBits

DefaultAccept flags (

See also
base::Flags) are used to define the default callback answers during signature verification.
static void setDefaultAccept(DefaultAccept value_r)
Set the active accept bits.
Definition KeyRing.cc:59
@ ACCEPT_VERIFICATION_FAILED
Definition KeyRing.h:209
@ ACCEPT_UNSIGNED_FILE
Definition KeyRing.h:205
KeyRingReport.
Enumerator
ACCEPT_NOTHING 
ACCEPT_UNSIGNED_FILE 
ACCEPT_UNKNOWNKEY 
TRUST_KEY_TEMPORARILY 
TRUST_AND_IMPORT_KEY 
ACCEPT_VERIFICATION_FAILED 

Definition at line 202 of file KeyRing.h.

Constructor & Destructor Documentation

◆ KeyRing()

zypp::KeyRing::KeyRing ( const Pathname & baseTmpDir)

Default ctor.

Definition at line 446 of file KeyRing.cc.

◆ ~KeyRing()

zypp::KeyRing::~KeyRing ( )
override

Dtor.

Definition at line 450 of file KeyRing.cc.

Member Function Documentation

◆ ZYPP_DECLARE_FLAGS()

zypp::KeyRing::ZYPP_DECLARE_FLAGS ( DefaultAccept ,
DefaultAcceptBits  )

◆ defaultAccept()

KeyRing::DefaultAccept zypp::KeyRing::defaultAccept ( )
static

Get the active accept bits.

Definition at line 56 of file KeyRing.cc.

◆ setDefaultAccept()

void zypp::KeyRing::setDefaultAccept ( DefaultAccept value_r)
static

Set the active accept bits.

Definition at line 59 of file KeyRing.cc.

◆ importKey()

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 462 of file KeyRing.cc.

◆ multiKeyImport()

void zypp::KeyRing::multiKeyImport ( const Pathname & keyfile_r,
bool trusted_r = false )

Initial import from RpmDb.

Definition at line 465 of file KeyRing.cc.

◆ dumpTrustedPublicKey()

void zypp::KeyRing::dumpTrustedPublicKey ( const std::string & id,
std::ostream & stream )
inline

Definition at line 237 of file KeyRing.h.

◆ dumpUntrustedPublicKey()

void zypp::KeyRing::dumpUntrustedPublicKey ( const std::string & id,
std::ostream & stream )
inline

Definition at line 240 of file KeyRing.h.

◆ dumpPublicKey()

void zypp::KeyRing::dumpPublicKey ( const std::string & id,
bool trusted,
std::ostream & stream )

Definition at line 497 of file KeyRing.cc.

◆ exportPublicKey()

PublicKey zypp::KeyRing::exportPublicKey ( const PublicKeyData & keyData)

Export a public key identified by its key data.

Definition at line 500 of file KeyRing.cc.

◆ exportTrustedPublicKey()

PublicKey zypp::KeyRing::exportTrustedPublicKey ( const PublicKeyData & keyData)

Export a trusted public key identified by its key data.

Definition at line 503 of file KeyRing.cc.

◆ readSignatureKeyId()

std::string zypp::KeyRing::readSignatureKeyId ( const Pathname & signature)

reads the public key id from a signature

Definition at line 468 of file KeyRing.cc.

◆ isKeyTrusted()

bool zypp::KeyRing::isKeyTrusted ( const std::string & id)

true if the key id is trusted

Definition at line 506 of file KeyRing.cc.

◆ isKeyKnown()

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 509 of file KeyRing.cc.

◆ deleteKey()

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 471 of file KeyRing.cc.

◆ publicKeys()

std::list< PublicKey > zypp::KeyRing::publicKeys ( )

Get a list of public keys in the keyring (incl.

ASCII armored keys in tmpfiles)

Definition at line 474 of file KeyRing.cc.

◆ trustedPublicKeys()

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 477 of file KeyRing.cc.

◆ publicKeyData() [1/2]

std::list< PublicKeyData > zypp::KeyRing::publicKeyData ( )

Get a list of public key data in the keyring (key data only)

Definition at line 480 of file KeyRing.cc.

◆ trustedPublicKeyData() [1/2]

std::list< PublicKeyData > zypp::KeyRing::trustedPublicKeyData ( )

Get a list of trusted public key data in the keyring (key data only)

Definition at line 483 of file KeyRing.cc.

◆ publicKeyData() [2/2]

PublicKeyData zypp::KeyRing::publicKeyData ( const std::string & id)

Get a public key's data in the keyring (key data only)

Definition at line 486 of file KeyRing.cc.

◆ trustedPublicKeyData() [2/2]

PublicKeyData zypp::KeyRing::trustedPublicKeyData ( const std::string & id)

Get a trusted public key's data in the keyring (key data only)

Definition at line 489 of file KeyRing.cc.

◆ verifyFileSignature()

bool zypp::KeyRing::verifyFileSignature ( const Pathname & file,
const Pathname & signature )

Verifies a file against a signature, with no user interaction.

Parameters
filePath of the file to be verified
signatureSignature to verify the file against

Definition at line 492 of file KeyRing.cc.

◆ verifyFileTrustedSignature()

bool zypp::KeyRing::verifyFileTrustedSignature ( const Pathname & file,
const Pathname & signature )

Definition at line 495 of file KeyRing.cc.

◆ pimpl()

KeyRing::Impl & zypp::KeyRing::pimpl ( )

Access to private functions for the KeyRingWorkflow implementations.

Definition at line 453 of file KeyRing.cc.

◆ allowPreload()

void zypp::KeyRing::allowPreload ( bool yesno_r)

The general keyring may be populated with known keys stored on the system.

Definition at line 458 of file KeyRing.cc.

Friends And Related Symbol Documentation

◆ operator<< [1/2]

std::ostream & operator<< ( std::ostream & str,
const KeyRing & obj )
friend

◆ operator<<() [2/2]

std::ostream & operator<< ( std::ostream & str,
const KeyRing &  )
related

Stream output.

Definition at line 330 of file KeyRing.h.

Member Data Documentation

◆ _pimpl

RW_pointer<Impl> zypp::KeyRing::_pimpl
private

Pointer to implementation.

Definition at line 325 of file KeyRing.h.


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