libzypp  17.14.0
KeyManager.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_KEYMANAGER_H
13 #define ZYPP_KEYMANAGER_H
14 
15 #include "zypp/base/PtrTypes.h"
16 #include "zypp/Pathname.h"
17 #include "zypp/PublicKey.h"
18 
19 #include <memory>
20 
21 namespace zypp
22 {
23 
32 {
33  public:
45 
53  static KeyManagerCtx createForOpenPGP( const Pathname & keyring_r );
54 
56  Pathname homedir() const;
57 
59  std::list<PublicKeyData> listKeys();
60 
62  std::list<PublicKeyData> readKeyFromFile(const Pathname & file);
63 
65  bool verify(const Pathname & file, const Pathname & signature);
66 
68  bool exportKey(const std::string & id, std::ostream & stream);
69 
71  bool importKey(const Pathname & keyfile);
72 
74  bool deleteKey (const std::string & id);
75 
77  std::list<std::string> readSignatureFingerprints(const Pathname & signature);
78 
79  private:
80  KeyManagerCtx();
81 
82  class Impl;
84 };
85 
86 }
87 
88 
89 #endif