libzypp  17.35.16
zypp::KeyRing Class Reference

Gpg key handling. More...

#include <zypp/KeyRing.h>

Inheritance diagram for zypp::KeyRing:

Classes

struct  Impl
 KeyRing implementation. More...
 

Public Member Functions

 KeyRing (const Pathname &baseTmpDir)
 Default ctor. More...
 
void importKey (const PublicKey &key, bool trusted=false)
 imports a key from a file. More...
 
void multiKeyImport (const Pathname &keyfile_r, bool trusted_r=false)
 Initial import from RpmDb. More...
 
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. More...
 
PublicKey exportTrustedPublicKey (const PublicKeyData &keyData)
 Export a trusted public key identified by its key data. More...
 
std::string readSignatureKeyId (const Pathname &signature)
 reads the public key id from a signature More...
 
bool isKeyTrusted (const std::string &id)
 true if the key id is trusted More...
 
bool isKeyKnown (const std::string &id)
 true if the key id is knows, that means at least exist on the untrusted keyring More...
 
void deleteKey (const std::string &id, bool trusted=false)
 removes a key from the keyring. More...
 
std::list< PublicKeypublicKeys ()
 Get a list of public keys in the keyring (incl. More...
 
std::list< PublicKeytrustedPublicKeys ()
 Get a list of trusted public keys in the keyring (incl. More...
 
std::list< PublicKeyDatapublicKeyData ()
 Get a list of public key data in the keyring (key data only) More...
 
std::list< PublicKeyDatatrustedPublicKeyData ()
 Get a list of trusted public key data in the keyring (key data only) More...
 
PublicKeyData publicKeyData (const std::string &id)
 Get a public key's data in the keyring (key data only) More...
 
PublicKeyData trustedPublicKeyData (const std::string &id)
 Get a trusted public key's data in the keyring (key data only) More...
 
bool verifyFileSignature (const Pathname &file, const Pathname &signature) ZYPP_API
 Verifies a file against a signature, with no user interaction. More...
 
bool verifyFileTrustedSignature (const Pathname &file, const Pathname &signature) ZYPP_API
 
 ~KeyRing () override
 Dtor. More...
 
KeyRing::Implpimpl ()
 Access to private functions for the KeyRingWorkflow implementations. More...
 
void allowPreload (bool yesno_r)
 The general keyring may be populated with known keys stored on the system. More...
 
- Public Member Functions inherited from zypp::base::ReferenceCounted
 ReferenceCounted ()
 Default ctor. More...
 
 ReferenceCounted (const ReferenceCounted &rhs)
 Copy ctor. More...
 
virtual ~ReferenceCounted ()
 Dtor. More...
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment. More...
 
unsigned refCount () const
 Return reference counter value. More...
 
void ref () const
 Add a reference. More...
 
void unref () const
 Release a reference. More...
 

Private Attributes

RW_pointer< Impl_pimpl
 Pointer to 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 &)
 

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. More...
 
static void setDefaultAccept (DefaultAccept value_r)
 Set the active accept bits. More...
 

Additional Inherited Members

- 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. More...
 
static void release (const ReferenceCounted *ptr_r)
 Called by zypp::intrusive_ptr to add a reference. More...
 
- Protected Member Functions inherited from zypp::base::ReferenceCounted
virtual std::ostream & dumpOn (std::ostream &str) const
 Overload to realize std::ostream & operator<<. More...
 
virtual void ref_to (unsigned) const
 Trigger derived classes after refCount was increased. More...
 
virtual void unref_to (unsigned) const
 Trigger derived classes after refCount was decreased. More...
 

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.
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 Function 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: