IPKIFScvpClient.h

Go to the documentation of this file.
00001 
00010 #ifndef __IPKIFScvpClient_H__
00011 #define __IPKIFScvpClient_H__
00012 
00013 #include "PKIFSCVPDLL.h"
00014 #include "PKIFdll.h"
00015 #include <string>
00016 
00017 FD_LIST_PTR(CPKIFCertificate);
00018 FD_LIST_PTR(CPKIFGeneralSubtree);
00019 FD_LIST_PTR(CPKIFOID);
00020 
00021 FD_SMART_PTR(CPKIFContentInfo);
00022 FD_SMART_PTR(CPKIFCredential);
00023 FD_SMART_PTR(CPKIFEvidenceRecordVerifier);
00024 FD_SMART_PTR(CPKIFPathSettings);
00025 FD_SMART_PTR(CPKIFValPolResponse);
00026 FD_SMART_PTR(CPKIFReplyWantBack_ExtDataHandler);
00027 
00028 FD_MC_PTR();
00029 
00030 struct PKIFScvpClientImpl;
00031 
00032 
00040 class PKIFSCVP_API IPKIFScvpClient
00041 {
00042 public:
00043     IPKIFScvpClient(void);
00044     virtual ~IPKIFScvpClient(void);
00045 
00046     //************************************************************************************
00047     //SCVP responder location information group box
00048     //************************************************************************************
00049     //set/get the HTTP URL to which requests are posted
00050     virtual void SetResponderUrl(const char* url);
00051     virtual const char* GetResponderUrl() const;
00052 
00053     //DPD/DPV is determined by the implementation of this interface that is used.
00054 
00055     //set/get instruction that determines is a request includes a nonce
00056     virtual void SetGenerateNonce(bool b);
00057     virtual bool GetGenerateNonce() const;
00058 
00059     //set/get instruction that determines if a nonce match is required
00060     virtual void SetRequireNonceMatch(bool bRequireNonceMatch);
00061     virtual bool GetRequireNonceMatch();
00062 
00063     //set/get instruction that determines if DPD requests require a signature
00064     virtual void SetRequireSignedDPD(bool b);
00065     virtual bool GetRequireSignedDPD() const;
00066 
00067     //************************************************************************************
00068     //Want backs group box
00069     //************************************************************************************
00070     //set/get the list of wantBacks that are included in a CVRequest
00071     virtual void SetWantBacks(CPKIFOIDListPtr& wantBack);
00072     virtual CPKIFOIDListPtr GetWantBacks() const;
00073 
00074     //************************************************************************************
00075     //Evidence record verifier group box
00076     //************************************************************************************
00077     //set/get the list of wantBacks that are included in a CVRequest
00078     virtual void SetEvidenceRecordVerifier(CPKIFEvidenceRecordVerifierPtr& erv);
00079     virtual CPKIFEvidenceRecordVerifierPtr GetEvidenceRecordVerifier() const;
00080 
00081     //************************************************************************************
00082     //Validation policy group box
00083     //************************************************************************************
00084     //set/get current val pol response
00085     virtual CPKIFContentInfoPtr FetchValPol();
00086     virtual void SetValPol(CPKIFContentInfoPtr& vp);
00087     virtual CPKIFContentInfoPtr GetValPol() const;
00088 
00089     //verify the val pol passed to SetValPol and return the parsed val pol response
00090     CPKIFValPolResponsePtr VerifyValPol();
00091 
00092     virtual void SetFetchValPolWhenLoading(bool b);
00093     virtual bool GetFetchValPolWhenLoading() const;
00094 
00095     CPKIFOIDPtr GetValidationPolicy() const;
00096     void SetValidationPolicy(CPKIFOIDPtr& valPol);
00097 
00098     //************************************************************************************
00099     //SCVP request signing credential group box
00100     //************************************************************************************
00101     //set/get the credential used to sign outbound requests
00102     virtual void SetSigningCredential(CPKIFCredentialPtr& cred);
00103     virtual CPKIFCredentialPtr GetSigningCredential() const;
00104 
00105     //************************************************************************************
00106     //Acceptable namespaces group box
00107     //************************************************************************************
00108     //add a namespace/get namespaces that determine if the colleague is consulted during path processing
00109     virtual void AddNamespace(CPKIFGeneralSubtreePtr& name);
00110     virtual CPKIFGeneralSubtreeList GetNamespaces();
00111     bool CheckNamespaces(const CPKIFCertificatePtr& cert);
00112 
00113     //************************************************************************************
00114     //Settings for SCVP response verification group box
00115     //************************************************************************************
00116     //set/get mediator collection that is used to verify signed SCVP responses
00117     virtual void SetMediator(IPKIFMediatorPtr& m);
00118     virtual IPKIFMediatorPtr GetMediator() const;
00119 
00120     //set/get path settings that are used to verify signed SCVP responses
00121     virtual void SetPathSettings(CPKIFPathSettingsPtr& settings);
00122     virtual CPKIFPathSettingsPtr GetPathSettings() const;
00123 
00124     //************************************************************************************
00125     //Custom validation policy group box
00126     //************************************************************************************
00127     //set/get path settings that are used to customize the val pol stuff in CVRequests
00128     virtual void SetPathSettingsForValPol(CPKIFPathSettingsPtr& settings);
00129     virtual CPKIFPathSettingsPtr GetPathSettingsForValPol() const;
00130 
00131     //************************************************************************************
00132     //Reply wantBack retrieval (used following a path path processing operation)
00133     //************************************************************************************
00134     virtual void SetWantBacksFromResponse(CPKIFReplyWantBack_ExtDataHandlerPtr& wantBacks);
00135     virtual CPKIFReplyWantBack_ExtDataHandlerPtr GetWantBacksFromResponse() const;
00136 
00137 private:
00139     IPKIFScvpClient(const IPKIFScvpClient& copy);
00141     IPKIFScvpClient& operator=(const IPKIFScvpClient& rhs);
00142 
00143     struct PKIFScvpClientImpl* m_impl;
00144 };
00145 DECLARE_SMART_POINTERS(IPKIFScvpClient);
00146 #endif

Generated on Mon Nov 15 11:15:51 2010 for PublicKeyInfrastructureFramework(PKIF) by  doxygen 1.5.6