limal-ca-mgm
CRLData.hpp
Go to the documentation of this file.
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