libzypp  17.8.0
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. 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
 
std::string rpmName () const
 
Edition gpgPubkeyEdition () const
 !< More...
 
bool hasSubkeys () const
 !< More...
 
Iterable< SubkeyIteratorsubkeys () const
 !< More...
 
bool providesKey (const std::string &id_r) const
 !< More...
 
AsciiArt asciiArt () 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 272 of file PublicKey.h.

Member Typedef Documentation

◆ SubkeyIterator

◆ AsciiArt

Constructor & Destructor Documentation

◆ PublicKey() [1/5]

zypp::PublicKey::PublicKey ( )

Default ctor.

Definition at line 486 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 490 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 494 of file PublicKey.cc.

◆ ~PublicKey()

zypp::PublicKey::~PublicKey ( )

Definition at line 506 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 498 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 502 of file PublicKey.cc.

Member Function Documentation

◆ keyData()

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

The public keys data (.

See also
PublicKeyData).

Definition at line 509 of file PublicKey.cc.

◆ isValid()

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

Definition at line 308 of file PublicKey.h.

◆ id()

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

Definition at line 518 of file PublicKey.cc.

◆ name()

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

Definition at line 521 of file PublicKey.cc.

◆ fingerprint()

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

Definition at line 524 of file PublicKey.cc.

◆ created()

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

Definition at line 527 of file PublicKey.cc.

◆ expires()

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

Definition at line 530 of file PublicKey.cc.

◆ expiresAsString()

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

Definition at line 539 of file PublicKey.cc.

◆ expired()

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

Definition at line 533 of file PublicKey.cc.

◆ daysToLive()

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

Definition at line 536 of file PublicKey.cc.

◆ gpgPubkeyVersion()

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

Definition at line 542 of file PublicKey.cc.

◆ gpgPubkeyRelease()

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

Definition at line 545 of file PublicKey.cc.

◆ asString()

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

Definition at line 548 of file PublicKey.cc.

◆ rpmName()

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

Definition at line 551 of file PublicKey.cc.

◆ gpgPubkeyEdition()

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

!<

See also
PublicKeyData

Definition at line 324 of file PublicKey.h.

◆ hasSubkeys()

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

!<

See also
PublicKeyData

Definition at line 327 of file PublicKey.h.

◆ subkeys()

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

!<

See also
PublicKeyData

Definition at line 330 of file PublicKey.h.

◆ providesKey()

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

!<

See also
PublicKeyData

Definition at line 333 of file PublicKey.h.

◆ asciiArt()

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

!<

See also
PublicKeyData !<
PublicKeyData

Definition at line 339 of file PublicKey.h.

◆ path()

Pathname zypp::PublicKey::path ( ) const

File containig the ASCII armored key.

Definition at line 512 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 515 of file PublicKey.cc.

◆ operator==() [1/2]

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

Definition at line 554 of file PublicKey.cc.

◆ operator==() [2/2]

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

Definition at line 557 of file PublicKey.cc.

Friends And Related Function Documentation

◆ KeyRing

friend class KeyRing
friend

Definition at line 354 of file PublicKey.h.

◆ operator<<()

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

Stream output

Definition at line 367 of file PublicKey.h.

◆ dumpOn()

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

Detailed stream output

Definition at line 560 of file PublicKey.cc.

Member Data Documentation

◆ _pimpl

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

Pointer to implementation.

Definition at line 362 of file PublicKey.h.


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