zypp::KeyRing Class Reference

Gpg key handling. More...

#include <KeyRing.h>

Inheritance diagram for zypp::KeyRing:
[legend]

List of all members.

Classes

struct  Impl
 KeyRing implementation. More...

Public Member Functions

 KeyRing (const Pathname &baseTmpDir)
 Default ctor.
void importKey (const PublicKey &key, bool trusted=false)
 imports a key from a file.
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)
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.
std::list< PublicKeytrustedPublicKeys ()
 Get a list of trusted public keys in the keyring.
std::list< std::string > publicKeyIds ()
 Get a list of public key ids in the keyring.
std::list< std::string > trustedPublicKeyIds ()
 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)

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.


Detailed Description

Gpg key handling.

Definition at line 132 of file KeyRing.h.


Member Enumeration Documentation

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 148 of file KeyRing.h.


Constructor & Destructor Documentation

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

Default ctor.

Definition at line 691 of file KeyRing.cc.

zypp::KeyRing::~KeyRing (  ) 

Dtor.

Definition at line 709 of file KeyRing.cc.


Member Function Documentation

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.

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

Set the active accept bits.

Definition at line 56 of file KeyRing.cc.

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

References _pimpl.

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

Definition at line 182 of file KeyRing.h.

References dumpPublicKey().

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

Definition at line 185 of file KeyRing.h.

References dumpPublicKey().

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

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

reads the public key id from a signature

Definition at line 724 of file KeyRing.cc.

References _pimpl.

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

true if the key id is trusted

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

true if the key id is knows, that means at least exist on the untrusted keyring

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.

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

Get a list of public keys in the keyring.

Definition at line 734 of file KeyRing.cc.

References _pimpl.

list< PublicKey > zypp::KeyRing::trustedPublicKeys (  ) 

Get a list of trusted public keys in the keyring.

Definition at line 739 of file KeyRing.cc.

References _pimpl.

list< string > zypp::KeyRing::publicKeyIds (  ) 

Get a list of public key ids in the keyring.

Definition at line 744 of file KeyRing.cc.

References _pimpl.

list< string > zypp::KeyRing::trustedPublicKeyIds (  ) 

Get a list of trusted public key ids in the keyring.

Definition at line 749 of file KeyRing.cc.

References _pimpl.

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 );
   ...
 };

Parameters:
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
See also:
KeyRingReport

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

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

Parameters:
file Path of the file to be verified
signature Signature to verify the file against

Definition at line 763 of file KeyRing.cc.

References _pimpl.

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

Definition at line 768 of file KeyRing.cc.

References _pimpl.


Friends And Related Function Documentation

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

Stream output

Definition at line 283 of file KeyRing.h.


Member Data Documentation


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

doxygen