/* * TLS Handshake Hash * (C) 2004-2006,2011 Jack Lloyd * * Released under the terms of the Botan license */ #ifndef BOTAN_TLS_HANDSHAKE_HASH_H__ #define BOTAN_TLS_HANDSHAKE_HASH_H__ #include #include namespace Botan { using namespace Botan; /** * TLS Handshake Hash */ class TLS_Handshake_Hash { public: void update(const byte in[], size_t length) { data += std::make_pair(in, length); } void update(const MemoryRegion& in) { data += in; } void update(byte in) { data.push_back(in); } void update(Handshake_Type handshake_type, const MemoryRegion& handshake_msg); SecureVector final(); SecureVector final_ssl3(const MemoryRegion&); const SecureVector& get_contents() const { return data; } private: SecureVector data; }; } #endif