libzypp 17.31.23
zypp::PublicKey Class Reference

Class representing one GPG Public Key (PublicKeyData + ASCII armored in a tempfile). More...

#include <PublicKey.h>

Classes

class  Impl
 PublicKey implementation. More...
 

Public Types

typedef PublicKeyData::SubkeyIterator SubkeyIterator
 
typedef PublicKeyData::AsciiArt AsciiArt
 

Public Member Functions

 PublicKey ()
 Default ctor.
 
 PublicKey (const Pathname &keyFile_r)
 Ctor taking the key from a file.
 
 PublicKey (const filesystem::TmpFile &sharedFile_r)
 Ctor reading the key from a TmpFile.
 
 ~PublicKey ()
 
const PublicKeyDatakeyData () const
 The public keys data (.
 
bool isValid () const
 
std::string id () const
 
std::string name () const
 
std::string fingerprint () const
 
std::string algoName () const
 
Date created () const
 
Date expires () const
 
std::string expiresAsString () const
 
bool expired () const
 
int daysToLive () const
 
std::string gpgPubkeyVersion () const
 
std::string gpgPubkeyRelease () const
 
std::string asString () const
 
std::string rpmName () const
 
Edition gpgPubkeyEdition () const
 !<
 
bool hasSubkeys () const
 !<
 
Iterable< SubkeyIteratorsubkeys () const
 !<
 
bool providesKey (const std::string &id_r) const
 !<
 
AsciiArt asciiArt () const
 !<
 
Pathname path () const
 File containing the ASCII armored key.
 
const std::list< PublicKeyData > & hiddenKeys () const
 Additional keys data in case the ASCII armored blob contains multiple keys.
 
bool fileProvidesKey (const std::string &id_r) const
 Extends providesKey to look at the hidden keys too.
 
bool operator== (const PublicKey &rhs) const
 
bool operator!= (const PublicKey &rhs) const
 
bool operator== (const std::string &sid) const
 
bool operator!= (const std::string &sid) const
 

Static Public Member Functions

static PublicKey noThrow (const Pathname &keyFile_r)
 Static ctor returning an empty PublicKey rather than throwing.
 
static bool isSafeKeyId (const std::string &id_r)
 !<
 

Private Member Functions

 PublicKey (const filesystem::TmpFile &sharedFile_r, const PublicKeyData &keyData_r)
 KeyRing ctor: No need to parse file if KeyRing already had valid KeyData.
 
 PublicKey (const PublicKeyData &keyData_r)
 KeyRing ctor: Legacy callback APIs take PublicKey, but just need the PublicKeyData No need to export to file.
 

Private Attributes

RWCOW_pointer< Impl_pimpl
 Pointer to implementation.
 

Friends

class KeyRing
 

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const PublicKey &obj)
 Stream output.
 
std::ostream & dumpOn (std::ostream &str, const PublicKey &obj)
 Detailed stream output.
 

Detailed Description

Class representing one GPG Public Key (PublicKeyData + ASCII armored in a tempfile).

If you don't need the ASCII armored version of the key stored in a tempfile, using PublicKeyData might be sufficient.

Note
In case the ASCII armored blob actually contains multiple keys, the last keys data are made available via the API. The additional keys data are made available via hiddenKeys.

Definition at line 358 of file PublicKey.h.

Member Typedef Documentation

◆ SubkeyIterator

◆ AsciiArt

Constructor & Destructor Documentation

◆ PublicKey() [1/5]

zypp::PublicKey::PublicKey ( )

Default ctor.

Definition at line 616 of file PublicKey.cc.

◆ PublicKey() [2/5]

zypp::PublicKey::PublicKey ( const Pathname keyFile_r)
explicit

Ctor taking the key from a file.

This is quite expensive, as a copy of the file is created and used. If you can construct PublicKey from a filesystem::TmpFile, this prevents copying.

Exceptions
whendata does not make a key

Definition at line 620 of file PublicKey.cc.

◆ PublicKey() [3/5]

zypp::PublicKey::PublicKey ( const filesystem::TmpFile sharedFile_r)
explicit

Ctor reading the key from a TmpFile.

PublicKey holds a reference on the TmpFile providing the key.

Exceptions
whendata does not make a key

Definition at line 624 of file PublicKey.cc.

◆ ~PublicKey()

zypp::PublicKey::~PublicKey ( )

Definition at line 636 of file PublicKey.cc.

◆ PublicKey() [4/5]

zypp::PublicKey::PublicKey ( const filesystem::TmpFile sharedFile_r,
const PublicKeyData keyData_r 
)
private

KeyRing ctor: No need to parse file if KeyRing already had valid KeyData.

Definition at line 628 of file PublicKey.cc.

◆ PublicKey() [5/5]

zypp::PublicKey::PublicKey ( const PublicKeyData keyData_r)
explicitprivate

KeyRing ctor: Legacy callback APIs take PublicKey, but just need the PublicKeyData No need to export to file.

Definition at line 632 of file PublicKey.cc.

Member Function Documentation

◆ noThrow()

PublicKey zypp::PublicKey::noThrow ( const Pathname keyFile_r)
static

Static ctor returning an empty PublicKey rather than throwing.

Definition at line 639 of file PublicKey.cc.

◆ keyData()

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

The public keys data (.

See also
PublicKeyData).

Definition at line 642 of file PublicKey.cc.

◆ isValid()

bool zypp::PublicKey::isValid ( ) const
inline

Definition at line 397 of file PublicKey.h.

◆ id()

std::string zypp::PublicKey::id ( ) const
See also
PublicKeyData

Definition at line 662 of file PublicKey.cc.

◆ name()

std::string zypp::PublicKey::name ( ) const
See also
PublicKeyData

Definition at line 665 of file PublicKey.cc.

◆ fingerprint()

std::string zypp::PublicKey::fingerprint ( ) const
See also
PublicKeyData

Definition at line 668 of file PublicKey.cc.

◆ algoName()

std::string zypp::PublicKey::algoName ( ) const
See also
PublicKeyData

Definition at line 671 of file PublicKey.cc.

◆ created()

Date zypp::PublicKey::created ( ) const
See also
PublicKeyData

Definition at line 674 of file PublicKey.cc.

◆ expires()

Date zypp::PublicKey::expires ( ) const
See also
PublicKeyData

Definition at line 677 of file PublicKey.cc.

◆ expiresAsString()

std::string zypp::PublicKey::expiresAsString ( ) const
See also
PublicKeyData

Definition at line 686 of file PublicKey.cc.

◆ expired()

bool zypp::PublicKey::expired ( ) const
See also
PublicKeyData

Definition at line 680 of file PublicKey.cc.

◆ daysToLive()

int zypp::PublicKey::daysToLive ( ) const
See also
PublicKeyData

Definition at line 683 of file PublicKey.cc.

◆ gpgPubkeyVersion()

std::string zypp::PublicKey::gpgPubkeyVersion ( ) const
See also
PublicKeyData

Definition at line 689 of file PublicKey.cc.

◆ gpgPubkeyRelease()

std::string zypp::PublicKey::gpgPubkeyRelease ( ) const
See also
PublicKeyData

Definition at line 692 of file PublicKey.cc.

◆ asString()

std::string zypp::PublicKey::asString ( ) const
See also
PublicKeyData

Definition at line 695 of file PublicKey.cc.

◆ rpmName()

std::string zypp::PublicKey::rpmName ( ) const

Definition at line 698 of file PublicKey.cc.

◆ gpgPubkeyEdition()

Edition zypp::PublicKey::gpgPubkeyEdition ( ) const
inline

!<

See also
PublicKeyData

Definition at line 414 of file PublicKey.h.

◆ hasSubkeys()

bool zypp::PublicKey::hasSubkeys ( ) const
inline

!<

See also
PublicKeyData

Definition at line 417 of file PublicKey.h.

◆ subkeys()

Iterable< SubkeyIterator > zypp::PublicKey::subkeys ( ) const
inline

!<

See also
PublicKeyData

Definition at line 420 of file PublicKey.h.

◆ providesKey()

bool zypp::PublicKey::providesKey ( const std::string &  id_r) const
inline

!<

See also
PublicKeyData

Definition at line 423 of file PublicKey.h.

◆ isSafeKeyId()

static bool zypp::PublicKey::isSafeKeyId ( const std::string &  id_r)
inlinestatic

!<

See also
PublicKeyData

Definition at line 426 of file PublicKey.h.

◆ asciiArt()

AsciiArt zypp::PublicKey::asciiArt ( ) const
inline

!<

See also
PublicKeyData !<
PublicKeyData

Definition at line 432 of file PublicKey.h.

◆ path()

Pathname zypp::PublicKey::path ( ) const

File containing the ASCII armored key.

Definition at line 645 of file PublicKey.cc.

◆ hiddenKeys()

const std::list< PublicKeyData > & zypp::PublicKey::hiddenKeys ( ) const

Additional keys data in case the ASCII armored blob contains multiple keys.

Definition at line 648 of file PublicKey.cc.

◆ fileProvidesKey()

bool zypp::PublicKey::fileProvidesKey ( const std::string &  id_r) const

Extends providesKey to look at the hidden keys too.

Those 'hidden' keys become visible when the file is imported into a keyring.

Definition at line 651 of file PublicKey.cc.

◆ operator==() [1/2]

bool zypp::PublicKey::operator== ( const PublicKey rhs) const

Definition at line 701 of file PublicKey.cc.

◆ operator!=() [1/2]

bool zypp::PublicKey::operator!= ( const PublicKey rhs) const
inline

Definition at line 449 of file PublicKey.h.

◆ operator==() [2/2]

bool zypp::PublicKey::operator== ( const std::string &  sid) const

Definition at line 704 of file PublicKey.cc.

◆ operator!=() [2/2]

bool zypp::PublicKey::operator!= ( const std::string &  sid) const
inline

Definition at line 452 of file PublicKey.h.

Friends And Related Function Documentation

◆ KeyRing

friend class KeyRing
friend

Definition at line 456 of file PublicKey.h.

◆ operator<<()

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

Stream output.

Definition at line 469 of file PublicKey.h.

◆ dumpOn()

std::ostream & dumpOn ( std::ostream &  str,
const PublicKey obj 
)
related

Detailed stream output.

Definition at line 707 of file PublicKey.cc.

Member Data Documentation

◆ _pimpl

RWCOW_pointer<Impl> zypp::PublicKey::_pimpl
private

Pointer to implementation.

Definition at line 464 of file PublicKey.h.


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