limal-ca-mgm
X509v3CertificateExtensions.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:       X509v3CertificateExtensions.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_CERTIFICATE_EXTENSION_HPP
00023 #define    LIMAL_CA_MGM_X509V3_CERTIFICATE_EXTENSION_HPP
00024 
00025 #include  <limal/ca-mgm/config.h>
00026 #include  <limal/ca-mgm/CommonData.hpp>
00027 #include  <limal/ca-mgm/StringExtensions.hpp>
00028 #include  <limal/ca-mgm/BitExtensions.hpp>
00029 #include  <limal/ca-mgm/ExtendedKeyUsageExt.hpp>
00030 #include  <limal/ca-mgm/BasicConstraintsExtension.hpp>
00031 #include  <limal/ca-mgm/SubjectKeyIdentifierExtension.hpp>
00032 #include  <limal/ca-mgm/SubjectKeyIdentifierExtension.hpp>
00033 #include  <limal/ca-mgm/AuthorityKeyIdentifierExtension.hpp>
00034 #include  <limal/ca-mgm/SubjectAlternativeNameExtension.hpp>
00035 #include  <limal/ca-mgm/IssuerAlternativeNameExtension.hpp>
00036 #include  <limal/ca-mgm/AuthorityInfoAccessExtension.hpp>
00037 #include  <limal/ca-mgm/CRLDistributionPointsExtension.hpp>
00038 #include  <limal/ca-mgm/CertificatePoliciesExtension.hpp>
00039 #include  <blocxx/COWIntrusiveReference.hpp>
00040 
00041 namespace LIMAL_NAMESPACE {
00042 
00043 namespace CA_MGM_NAMESPACE {
00044 
00045         class X509v3CertificateExtsImpl;
00046         
00050         class X509v3CertificateExts {
00051                                                                                   public:
00052                 X509v3CertificateExts(const X509v3CertificateExts& extensions);
00053                 virtual ~X509v3CertificateExts();
00054                 
00055 #ifndef SWIG
00056 
00057                 X509v3CertificateExts&
00058                 operator=(const X509v3CertificateExts& extensions);
00059 
00060 #endif
00061                 
00062                 NsBaseUrlExt
00063                 getNsBaseUrl() const;
00064         
00065                 NsRevocationUrlExt
00066                 getNsRevocationUrl() const;
00067         
00068                 NsCaRevocationUrlExt
00069                 getNsCaRevocationUrl() const;
00070         
00071                 NsRenewalUrlExt
00072                 getNsRenewalUrl() const;
00073         
00074                 NsCaPolicyUrlExt
00075                 getNsCaPolicyUrl() const;
00076         
00077                 NsSslServerNameExt
00078                 getNsSslServerName() const;
00079         
00080                 NsCommentExt
00081                 getNsComment() const;
00082         
00083                 NsCertTypeExt
00084                 getNsCertType() const;
00085         
00086                 KeyUsageExt
00087                 getKeyUsage() const;
00088         
00089                 BasicConstraintsExt
00090                 getBasicConstraints() const;
00091         
00092                 ExtendedKeyUsageExt
00093                 getExtendedKeyUsage() const;
00094         
00095                 SubjectKeyIdentifierExt
00096                 getSubjectKeyIdentifier() const;
00097         
00098                 AuthorityKeyIdentifierExt
00099                 getAuthorityKeyIdentifier() const;
00100         
00101                 SubjectAlternativeNameExt
00102                 getSubjectAlternativeName() const;
00103         
00104                 IssuerAlternativeNameExt
00105                 getIssuerAlternativeName() const;
00106         
00107                 AuthorityInfoAccessExt
00108                 getAuthorityInfoAccess() const;
00109         
00110                 CRLDistributionPointsExt
00111                 getCRLDistributionPoints() const;
00112         
00113                 CertificatePoliciesExt
00114                 getCertificatePolicies() const;
00115         
00116                 virtual bool
00117                 valid() const;
00118         
00119                 virtual blocxx::StringArray
00120                 verify() const;
00121 
00122                 virtual blocxx::StringArray
00123                 dump() const;
00124 
00125         protected:
00126                 blocxx::COWIntrusiveReference<X509v3CertificateExtsImpl> m_impl;
00127                 
00128                 X509v3CertificateExts();
00129 
00130         };
00131 
00132 }
00133 }
00134 
00135 #endif // LIMAL_CA_MGM_X509V3_CERTIFICATE_EXTENSION_HPP