TimeStampRequest.h
Go to the documentation of this file.00001
00009 #ifndef __TIMESTAMPREQUEST_H__
00010 #define __TIMESTAMPREQUEST_H__
00011
00012 #include "PKIFTSPDLL.h"
00013 #include "IPKIFHasExtensions.h"
00014
00015
00016 struct CPKIFTimeStampRequestImpl;
00017 FD_SMART_PTR(CPKIFMessageImprint);
00018
00037 class PKIFTSP_API CPKIFTimeStampRequest: public IPKIFHasExtensions
00038 {
00039 public:
00040 CPKIFTimeStampRequest();
00041 virtual ~CPKIFTimeStampRequest(void);
00042
00043
00044 int GetVersion() const;
00045
00046
00047 void SetMessageImprint(CPKIFMessageImprintPtr& messageImprint);
00048 CPKIFMessageImprintPtr GetMessageImprint() const;
00049
00050
00051 void SetPolicy(CPKIFOIDPtr& policy);
00052 CPKIFOIDPtr GetPolicy() const;
00053
00054
00055 void SetNonce(CPKIFStringPtr& nonce);
00056 const char* GetNonce() const;
00057
00058
00059
00060
00061
00062
00063
00064 void SetGenerateNonce(bool generateNonce, IPKIFMediator* m = NULL);
00065 bool GetGenerateNonce() const;
00066
00067
00068 void SetReqCert(bool reqCert);
00069 bool GetReqCert() const;
00070
00071
00072
00073
00074
00075
00076 bool ExtensionsPresent() const;
00077
00078
00079 template <class T> boost::shared_ptr<T> GetExtension();
00080
00081 CPKIFBufferPtr Encode() const;
00082 void Decode(CPKIFBufferPtr& msg);
00083
00084 void GetExtensionByOID(const CPKIFOID& oid, CPKIFX509ExtensionPtr& ref);
00085 void GetEncodedExtensions (CPKIFBufferPtr& buf);
00086 private:
00088 CPKIFTimeStampRequest(const CPKIFTimeStampRequest& copy);
00090 CPKIFTimeStampRequest& operator=(const CPKIFTimeStampRequest& rhs);
00091
00092 struct CPKIFTimeStampRequestImpl *m_impl;
00093 };
00094 DECLARE_SMART_POINTERS(CPKIFTimeStampRequest);
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146 #endif //__TIMESTAMPREQUEST_H__