00001 /* 00002 * Copyright 2003 Michael A. Marsh, Cornell University. All rights reserved. 00003 * This software is released under the modified BSD license. 00004 * See the file LICENSE in the top-level directory for details. 00005 */ 00006 // 00007 // $Id: DelegateResponseVerifier.h,v 1.3 2004/05/19 15:56:52 mmarsh Exp $ 00008 // 00009 // $Log: DelegateResponseVerifier.h,v $ 00010 // Revision 1.3 2004/05/19 15:56:52 mmarsh 00011 // *** empty log message *** 00012 // 00013 // Revision 1.2 2003/11/04 22:31:49 mmarsh 00014 // *** empty log message *** 00015 // 00016 // 00017 00018 #ifndef __CODEX_KEYSERVICE_DELEGATERESPONSEVERIFIER_H__ 00019 #define __CODEX_KEYSERVICE_DELEGATERESPONSEVERIFIER_H__ 00020 00021 #include "CODEX_Client/Message.h" 00022 #include "SupportedClientResponseHandler.h" 00023 #include "SupportedClientResponseEvent.h" 00024 #include "CODEX_Events/Activity.h" 00025 00026 namespace CODEX_KeyService 00027 { 00028 using namespace CODEX_Client; 00029 00033 class DelegateResponseVerifier : public SupportedClientResponseHandler 00034 { 00035 public : 00049 DelegateResponseVerifier( 00050 CODEX_Events::DeadPileType& deadPile, 00051 CODEX_Events::QType& eventQueue, 00052 SupportedClientResponseHandler* destination ); 00053 00055 virtual ~DelegateResponseVerifier(); 00056 00058 bool handler( 00059 SupportedClientResponseEvent< BoundNameMsg, SignedCreateKeyMsg >& 00060 event ); 00061 00063 bool handler( 00064 SupportedClientResponseEvent< KeyStoredMsg, SignedWriteKeyMsg >& 00065 event ); 00066 00068 bool handler( SupportedKeyStoredEvent& event ); 00069 00071 bool handler( 00072 SupportedClientResponseEvent< VerifiableBlindKeyMsg, 00073 SignedReadKeyMsg >& event ); 00074 00075 private : 00076 bool process( 00077 const BIGNUM* digest, 00078 const CODEX_ASN1::Array< CODEX_Server::ServerSignature >& evidence, 00079 unsigned int evidenceSize ); 00080 00081 SupportedClientResponseHandler* m_destination; 00082 }; 00083 00084 } 00085 00086 #endif /* __CODEX_KEYSERVICE_DELEGATERESPONSEVERIFIER_H__ */
1.4.1