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: ServerSignature.h,v 1.3 2004/05/19 15:56:59 mmarsh Exp $ 00008 // 00009 // $Log: ServerSignature.h,v $ 00010 // Revision 1.3 2004/05/19 15:56:59 mmarsh 00011 // *** empty log message *** 00012 // 00013 // Revision 1.2 2003/11/04 22:31:51 mmarsh 00014 // *** empty log message *** 00015 // 00016 // 00017 00018 #ifndef __CODEX_SERVER_SERVERSIGNATURE_H__ 00019 #define __CODEX_SERVER_SERVERSIGNATURE_H__ 00020 00021 #include "CODEX_ASN1/Base.h" 00022 #include "CODEX_ASN1/Integer.h" 00023 #include "CODEX_Ciphers/RSA.h" 00024 00025 namespace CODEX_Server 00026 { 00031 class ServerSignature : public CODEX_ASN1::Base 00032 { 00033 public : 00035 ServerSignature(); 00037 ServerSignature( unsigned int serverID , 00038 const CODEX_Ciphers::RSASignature& sig ); 00040 ServerSignature( const CODEX_ASN1::Integer& serverID, 00041 const CODEX_Ciphers::RSASignature& sig ); 00043 ServerSignature( const ServerSignature& aOther ); 00045 virtual ~ServerSignature() {} 00046 00048 void operator=( const ServerSignature& aOther ); 00049 00051 const CODEX_ASN1::Integer& serverID() const { return m_serverID; } 00052 00054 const CODEX_Ciphers::RSASignature& signature() const 00055 { 00056 return m_signature; 00057 } 00058 00060 int marshal( unsigned char ** pp ) const; 00062 void* unmarshal( void* bogus, unsigned char ** pp, long length ); 00063 00064 private : 00065 CODEX_ASN1::Integer m_serverID; 00066 CODEX_Ciphers::RSASignature m_signature; 00067 }; 00068 } 00069 00070 #endif /* __CODEX_SERVER_SERVERSIGNATURE_H__ */
1.2.18