limal-ca-mgm
RequestData.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:       RequestData.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_REQUEST_DATA_HPP
00023 #define    LIMAL_CA_MGM_REQUEST_DATA_HPP
00024 
00025 #include  <limal/ca-mgm/config.h>
00026 #include  <limal/ca-mgm/CommonData.hpp>
00027 #include  <limal/ca-mgm/X509v3RequestExtensions.hpp>
00028 #include  <limal/ca-mgm/DNObject.hpp>
00029 #include  <limal/ByteBuffer.hpp>
00030 #include  <blocxx/COWIntrusiveReference.hpp>
00031 
00032 namespace LIMAL_NAMESPACE {
00033 
00034 namespace CA_MGM_NAMESPACE {
00035 
00036         class RequestDataImpl;
00037         
00043         class RequestData {
00044         public:
00045                 RequestData(const RequestData& data);
00046                 virtual ~RequestData();
00047 
00048 #ifndef SWIG
00049 
00050                 RequestData&
00051                 operator=(const RequestData& data);
00052 
00053 #endif
00054                 
00055                 blocxx::UInt32
00056                 getVersion() const;
00057         
00058                 blocxx::UInt32
00059                 getKeysize() const;
00060         
00061                 DNObject
00062                 getSubjectDN() const;
00063         
00064                 KeyAlg
00065                 getKeyAlgorithm() const;
00066         
00067                 limal::ByteBuffer
00068                 getPublicKey() const;
00069         
00070                 SigAlg
00071                 getSignatureAlgorithm() const;
00072         
00073                 limal::ByteBuffer
00074                 getSignature() const;
00075         
00076                 X509v3RequestExts
00077                 getExtensions() const;
00078         
00079                 String
00080                 getChallengePassword() const;
00081         
00082                 String
00083                 getUnstructuredName() const;
00084 
00089                 String
00090                 getRequestAsText() const;
00091 
00096                 String
00097                 getExtensionsAsText() const;
00098         
00099                 virtual bool
00100                 valid() const;
00101         
00102                 virtual blocxx::StringArray
00103                 verify() const;
00104 
00105                 virtual blocxx::StringArray
00106                 dump() const;
00107 
00108         protected:
00109                 blocxx::COWIntrusiveReference<RequestDataImpl> m_impl;
00110         
00111                 RequestData();
00112 
00113         };
00114 
00115 }
00116 }
00117 
00118 #endif // LIMAL_CA_MGM_REQUEST_DATA_HPP