00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | _ _ _ _ __ _ | 00004 | | | | | | \_/ | / \ | | | 00005 | | | | | | |_| | / /\ \ | | | 00006 | | |__ | | | | | | / ____ \ | |__ | 00007 | |____||_| |_| |_|/ / \ \|____| | 00008 | | 00009 | ca-mgm library | 00010 | | 00011 | (C) SUSE Linux Products GmbH | 00012 \----------------------------------------------------------------------/ 00013 00014 File: X509v3CRLExtensions.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_X509V3_CRL_EXTENSIONS_HPP 00023 #define LIMAL_CA_MGM_X509V3_CRL_EXTENSIONS_HPP 00024 00025 #include <limal/ca-mgm/config.h> 00026 #include <limal/ca-mgm/CommonData.hpp> 00027 #include <limal/ca-mgm/AuthorityKeyIdentifierExtension.hpp> 00028 #include <limal/ca-mgm/IssuerAlternativeNameExtension.hpp> 00029 #include <blocxx/COWIntrusiveReference.hpp> 00030 00031 namespace LIMAL_NAMESPACE { 00032 00033 namespace CA_MGM_NAMESPACE { 00034 00035 class X509v3CRLExtsImpl; 00036 00043 class X509v3CRLExts { 00044 public: 00045 X509v3CRLExts(const X509v3CRLExts& extensions); 00046 virtual ~X509v3CRLExts(); 00047 00048 #ifndef SWIG 00049 00050 X509v3CRLExts& 00051 operator=(const X509v3CRLExts& extensions); 00052 00053 #endif 00054 00055 AuthorityKeyIdentifierExt 00056 getAuthorityKeyIdentifier() const; 00057 00058 IssuerAlternativeNameExt 00059 getIssuerAlternativeName() const; 00060 00061 virtual bool 00062 valid() const; 00063 00064 virtual blocxx::StringArray 00065 verify() const; 00066 00067 virtual blocxx::StringArray 00068 dump() const; 00069 00070 protected: 00071 blocxx::COWIntrusiveReference<X509v3CRLExtsImpl> m_impl; 00072 00073 X509v3CRLExts(); 00074 }; 00075 00076 } 00077 } 00078 00079 #endif // LIMAL_CA_MGM_X509V3_CRL_EXTENSIONS_HPP