libzypp  17.3.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
 
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 269 of file PublicKey.h.

Member Typedef Documentation

◆ SubkeyIterator

◆ AsciiArt

Constructor & Destructor Documentation

◆ PublicKey() [1/5]

zypp::PublicKey::PublicKey ( )

Default ctor.

Definition at line 479 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 483 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 487 of file PublicKey.cc.

◆ ~PublicKey()

zypp::PublicKey::~PublicKey ( )

Definition at line 499 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 491 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 495 of file PublicKey.cc.

Member Function Documentation

◆ keyData()

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

The public keys data (.

See also
PublicKeyData).

Definition at line 502 of file PublicKey.cc.

◆ isValid()

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

Definition at line 305 of file PublicKey.h.

◆ id()

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

Definition at line 511 of file PublicKey.cc.

◆ name()

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

Definition at line 514 of file PublicKey.cc.

◆ fingerprint()

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

Definition at line 517 of file PublicKey.cc.

◆ created()

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

Definition at line 520 of file PublicKey.cc.

◆ expires()

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

Definition at line 523 of file PublicKey.cc.

◆ expiresAsString()

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

Definition at line 532 of file PublicKey.cc.

◆ expired()

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

Definition at line 526 of file PublicKey.cc.

◆ daysToLive()

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

Definition at line 529 of file PublicKey.cc.

◆ gpgPubkeyVersion()

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

Definition at line 535 of file PublicKey.cc.

◆ gpgPubkeyRelease()

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

Definition at line 538 of file PublicKey.cc.

◆ asString()

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

Definition at line 541 of file PublicKey.cc.

◆ gpgPubkeyEdition()

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

!<

See also
PublicKeyData

Definition at line 320 of file PublicKey.h.

◆ hasSubkeys()

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

!<

See also
PublicKeyData

Definition at line 323 of file PublicKey.h.

◆ subkeys()

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

!<

See also
PublicKeyData

Definition at line 326 of file PublicKey.h.

◆ providesKey()

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

!<

See also
PublicKeyData

Definition at line 329 of file PublicKey.h.

◆ asciiArt()

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

!<

See also
PublicKeyData !<
PublicKeyData

Definition at line 335 of file PublicKey.h.

◆ path()

Pathname zypp::PublicKey::path ( ) const

File containig the ASCII armored key.

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

◆ operator==() [1/2]

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

Definition at line 544 of file PublicKey.cc.

◆ operator==() [2/2]

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

Definition at line 547 of file PublicKey.cc.

Friends And Related Function Documentation

◆ KeyRing

friend class KeyRing
friend

Definition at line 350 of file PublicKey.h.

◆ operator<<()

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

Stream output

Definition at line 363 of file PublicKey.h.

◆ dumpOn()

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

Detailed stream output

Definition at line 550 of file PublicKey.cc.

Member Data Documentation

◆ _pimpl

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

Pointer to implementation.

Definition at line 358 of file PublicKey.h.


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