|
limal-ca-mgm
|
00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | _ _ _ _ __ _ | 00004 | | | | | | \_/ | / \ | | | 00005 | | | | | | |_| | / /\ \ | | | 00006 | | |__ | | | | | | / ____ \ | |__ | 00007 | |____||_| |_| |_|/ / \ \|____| | 00008 | | 00009 | ca-mgm library | 00010 | | 00011 | (C) SUSE Linux Products GmbH | 00012 \----------------------------------------------------------------------/ 00013 00014 File: CRLData.hpp 00015 00016 Author: <Michael Calmer> <mc@suse.de> 00017 Maintainer: <Michael Calmer> <mc@suse.de> 00018 00019 Purpose: 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
1.7.5.1