00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef LIMAL_CA_MGM_CRL_DATA_HPP
00023 #define LIMAL_CA_MGM_CRL_DATA_HPP
00024
00025 #include <limal/ca-mgm/config.h>
00026 #include <limal/ca-mgm/CommonData.hpp>
00027 #include <limal/ca-mgm/CRLReason.hpp>
00028 #include <limal/ca-mgm/DNObject.hpp>
00029 #include <limal/ca-mgm/X509v3CRLExtensions.hpp>
00030 #include <limal/ByteBuffer.hpp>
00031 #include <blocxx/COWIntrusiveReference.hpp>
00032
00033 namespace LIMAL_NAMESPACE {
00034
00035 namespace CA_MGM_NAMESPACE {
00036
00037 class RevocationEntryImpl;
00038 class CRLDataImpl;
00039
00040 class RevocationEntry {
00041 public:
00042 RevocationEntry();
00043 RevocationEntry(const RevocationEntry& entry);
00044 virtual ~RevocationEntry();
00045
00046 #ifndef SWIG
00047
00048 RevocationEntry&
00049 operator=(const RevocationEntry& entry);
00050
00051 #endif
00052
00053 String
00054 getSerial() const;
00055
00056 time_t
00057 getRevocationDate() const;
00058
00059 CRLReason
00060 getReason() const;
00061
00062 virtual bool
00063 valid() const;
00064
00065 virtual blocxx::StringArray
00066 verify() const;
00067
00068 virtual blocxx::StringArray
00069 dump() const;
00070
00071 protected:
00072 blocxx::COWIntrusiveReference<RevocationEntryImpl> m_impl;
00073
00074 };
00075
00081 class CRLData {
00082 public:
00083 CRLData(const CRLData& data);
00084 virtual ~CRLData();
00085
00086 #ifndef SWIG
00087
00088 CRLData&
00089 operator=(const CRLData& data);
00090
00091 #endif
00092
00093 blocxx::Int32
00094 getVersion() const;
00095
00096 String
00097 getFingerprint() const;
00098
00099 time_t
00100 getLastUpdateDate() const;
00101
00102 time_t
00103 getNextUpdateDate() const;
00104
00105 DNObject
00106 getIssuerDN() const;
00107
00108 SigAlg
00109 getSignatureAlgorithm() const;
00110
00111 String
00112 getSignatureAlgorithmAsString() const;
00113
00114 limal::ByteBuffer
00115 getSignature() const;
00116
00117 X509v3CRLExts
00118 getExtensions() const;
00119
00120 blocxx::Map<String, RevocationEntry>
00121 getRevocationData() const;
00122
00123 RevocationEntry
00124 getRevocationEntry(const String& oid);
00125
00130 String
00131 getCRLAsText() const;
00132
00137 String
00138 getExtensionsAsText() const;
00139
00140 virtual bool
00141 valid() const;
00142
00143 virtual blocxx::StringArray
00144 verify() const;
00145
00146 virtual blocxx::StringArray
00147 dump() const;
00148
00149 protected:
00150 blocxx::COWIntrusiveReference<CRLDataImpl> m_impl;
00151
00152 CRLData();
00153
00154 blocxx::StringArray
00155 checkRevocationData(const blocxx::Map<String, RevocationEntry>& rd) const;
00156
00157 };
00158
00159 }
00160 }
00161
00162 #endif // LIMAL_CA_MGM_CRL_DATA_HPP