libzypp  17.1.1
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
 

Public Member Functions

 PublicKey ()
 Default ctor. More...
 
 PublicKey (const Pathname &keyFile_r)
 Ctor taking the key from a file. More...
 
 PublicKey (const filesystem::TmpFile &sharedFile_r)
 Ctor reading the key from a TmpFile. More...
 
 ~PublicKey ()
 
const PublicKeyDatakeyData () const
 The public keys data (. More...
 
bool isValid () const
 
std::string id () const
 
std::string name () const
 
std::string fingerprint () 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
 
Edition gpgPubkeyEdition () const
 !< More...
 
bool hasSubkeys () const
 !< More...
 
Iterable< SubkeyIteratorsubkeys () const
 !< More...
 
bool providesKey (const std::string &id_r) const
 !< More...
 
Pathname path () const
 File containig the ASCII armored key. More...
 
const std::list< PublicKeyData > & hiddenKeys () const
 Additional keys data in case the ASCII armored blob containes multiple keys. More...
 
bool operator== (const PublicKey &rhs) const
 
bool operator== (const std::string &sid) const
 

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. More...
 
 PublicKey (const PublicKeyData &keyData_r)
 KeyRing ctor: Legacy callback APIs take PublicKey, but just need the PublicKeyData No need to export to file. More...
 

Private Attributes

RWCOW_pointer< Impl_pimpl
 Pointer to implementation. More...
 

Friends

class KeyRing
 

Related Functions

(Note that these are not member functions.)

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

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 282 of file PublicKey.h.

Member Typedef Documentation

◆ SubkeyIterator

Constructor & Destructor Documentation

◆ PublicKey() [1/5]

zypp::PublicKey::PublicKey ( )

Default ctor.

Definition at line 565 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 569 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 573 of file PublicKey.cc.

◆ ~PublicKey()

zypp::PublicKey::~PublicKey ( )

Definition at line 585 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 577 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 581 of file PublicKey.cc.

Member Function Documentation

◆ keyData()

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

The public keys data (.

See also
PublicKeyData).

Definition at line 588 of file PublicKey.cc.

◆ isValid()

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

Definition at line 318 of file PublicKey.h.

◆ id()

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

Definition at line 597 of file PublicKey.cc.

◆ name()

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

Definition at line 600 of file PublicKey.cc.

◆ fingerprint()

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

Definition at line 603 of file PublicKey.cc.

◆ created()

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

Definition at line 606 of file PublicKey.cc.

◆ expires()

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

Definition at line 609 of file PublicKey.cc.

◆ expiresAsString()

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

Definition at line 618 of file PublicKey.cc.

◆ expired()

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

Definition at line 612 of file PublicKey.cc.

◆ daysToLive()

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

Definition at line 615 of file PublicKey.cc.

◆ gpgPubkeyVersion()

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

Definition at line 621 of file PublicKey.cc.

◆ gpgPubkeyRelease()

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

Definition at line 624 of file PublicKey.cc.

◆ asString()

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

Definition at line 627 of file PublicKey.cc.

◆ gpgPubkeyEdition()

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

!<

See also
PublicKeyData

Definition at line 333 of file PublicKey.h.

◆ hasSubkeys()

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

!<

See also
PublicKeyData

Definition at line 336 of file PublicKey.h.

◆ subkeys()

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

!<

See also
PublicKeyData

Definition at line 339 of file PublicKey.h.

◆ providesKey()

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

!<

See also
PublicKeyData

Definition at line 342 of file PublicKey.h.

◆ path()

Pathname zypp::PublicKey::path ( ) const

File containig the ASCII armored key.

Definition at line 591 of file PublicKey.cc.

◆ hiddenKeys()

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

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

Definition at line 594 of file PublicKey.cc.

◆ operator==() [1/2]

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

Definition at line 630 of file PublicKey.cc.

◆ operator==() [2/2]

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

Definition at line 633 of file PublicKey.cc.

Friends And Related Function Documentation

◆ KeyRing

friend class KeyRing
friend

Definition at line 357 of file PublicKey.h.

◆ operator<<()

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

Stream output

Definition at line 370 of file PublicKey.h.

◆ dumpOn()

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

Detailed stream output

Definition at line 636 of file PublicKey.cc.

Member Data Documentation

◆ _pimpl

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

Pointer to implementation.

Definition at line 365 of file PublicKey.h.


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