limal-ca-mgm
CertificateData.hpp
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | |
3 | _ _ _ _ __ _ |
4 | | | | | | \_/ | / \ | | |
5 | | | | | | |_| | / /\ \ | | |
6 | | |__ | | | | | | / ____ \ | |__ |
7 | |____||_| |_| |_|/ / \ \|____| |
8 | |
9 | ca-mgm library |
10 | |
11 | (C) SUSE Linux Products GmbH |
12 \----------------------------------------------------------------------/
13 
14  File: CertificateData.hpp
15 
16  Author: <Michael Calmer> <mc@suse.de>
17  Maintainer: <Michael Calmer> <mc@suse.de>
18 
19  Purpose:
20 
21 /-*/
22 #ifndef LIMAL_CA_MGM_CERTIFICATE_DATA_HPP
23 #define LIMAL_CA_MGM_CERTIFICATE_DATA_HPP
24 
25 #include <limal/ca-mgm/config.h>
29 #include <limal/ByteBuffer.hpp>
30 #include <blocxx/COWIntrusiveReference.hpp>
31 
32 namespace LIMAL_NAMESPACE {
33 
34 namespace CA_MGM_NAMESPACE {
35 
36  class CertificateDataImpl;
37 
44  public:
45  CertificateData(const CertificateData& data);
46 
47  virtual ~CertificateData();
48 
49 #ifndef SWIG
50 
52  operator=(const CertificateData& data);
53 
54 #endif
55 
56  blocxx::UInt32
57  getVersion() const;
58 
59  String
60  getSerial() const;
61 
62  time_t
63  getStartDate() const;
64 
65  time_t
66  getEndDate() const;
67 
68  DNObject
69  getIssuerDN() const;
70 
71  DNObject
72  getSubjectDN() const;
73 
74  blocxx::UInt32
75  getKeysize() const;
76 
77  KeyAlg
78  getPublicKeyAlgorithm() const;
79 
80  String
81  getPublicKeyAlgorithmAsString() const;
82 
84  getPublicKey() const;
85 
86  SigAlg
87  getSignatureAlgorithm() const;
88 
89  String
90  getSignatureAlgorithmAsString() const;
91 
93  getSignature() const;
94 
95  String
96  getFingerprint() const;
97 
99  getExtensions() const;
100 
105  String
106  getCertificateAsText() const;
107 
112  String
113  getExtensionsAsText() const;
114 
115  virtual bool
116  valid() const;
117 
118  virtual blocxx::StringArray
119  verify() const;
120 
121  virtual blocxx::StringArray
122  dump() const;
123 
124  protected:
125  CertificateData();
126 
127 
128  blocxx::COWIntrusiveReference<CertificateDataImpl> m_impl;
129  };
130 
131 }
132 }
133 
134 #endif // LIMAL_CA_MGM_CERTIFICATE_DATA_HPP