00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef LIMAL_CA_MGM_REQUEST_GENERATION_DATA_HPP
00024 #define LIMAL_CA_MGM_REQUEST_GENERATION_DATA_HPP
00025
00026 #include <limal/ca-mgm/config.h>
00027 #include <limal/ca-mgm/CommonData.hpp>
00028 #include <limal/ca-mgm/DNObject.hpp>
00029 #include <limal/ca-mgm/X509v3RequestExtensions.hpp>
00030 #include <blocxx/COWIntrusiveReference.hpp>
00031
00032 namespace LIMAL_NAMESPACE
00033 {
00034 namespace CA_MGM_NAMESPACE
00035 {
00036
00037 class CA;
00038 class CAConfig;
00039 class RequestGenerationDataImpl;
00040
00046 class RequestGenerationData {
00047 public:
00048 RequestGenerationData();
00049
00053 RequestGenerationData(CAConfig* caConfig, Type type);
00054 RequestGenerationData(const RequestGenerationData& data);
00055 virtual ~RequestGenerationData();
00056
00057 #ifndef SWIG
00058
00059 RequestGenerationData&
00060 operator=(const RequestGenerationData& data);
00061
00062 #endif
00063
00064 void
00065 setSubjectDN(const DNObject dn);
00066
00067 DNObject
00068 getSubjectDN() const;
00069
00070 DNObject&
00071 subjectDN();
00072
00073 void
00074 setKeysize(blocxx::UInt32 size);
00075
00076 blocxx::UInt32
00077 getKeysize() const;
00078
00079 void
00080 setMessageDigest(MD md);
00081
00082 MD
00083 getMessageDigest() const;
00084
00085 void
00086 setChallengePassword(const String &passwd);
00087
00088 String
00089 getChallengePassword() const;
00090
00091 void
00092 setUnstructuredName(const String &name);
00093
00094 String
00095 getUnstructuredName() const;
00096
00097 void
00098 setExtensions(const X509v3RequestExts &ext);
00099
00100 X509v3RequestExts
00101 getExtensions() const;
00102
00103 X509v3RequestExts&
00104 extensions();
00105
00109 void
00110 commit2Config(CA& ca, Type type) const;
00111
00112 virtual bool
00113 valid() const;
00114
00115 virtual blocxx::StringArray
00116 verify() const;
00117
00118 virtual blocxx::StringArray
00119 dump() const;
00120
00121 private:
00122 blocxx::COWIntrusiveReference<RequestGenerationDataImpl> m_impl;
00123
00124 };
00125
00126 }
00127 }
00128 #endif //LIMAL_CA_MGM_REQUEST_GENERATION_DATA_HPP