Botan  1.11.15
Public Member Functions
Botan::TLS::Handshake_Hash Class Reference

#include <tls_handshake_hash.h>

List of all members.

Public Member Functions

secure_vector< bytefinal (Protocol_Version version, const std::string &mac_algo) const
const std::vector< byte > & get_contents () const
void reset ()
void update (const byte in[], size_t length)
void update (const std::vector< byte > &in)

Detailed Description

TLS Handshake Hash

Definition at line 24 of file tls_handshake_hash.h.


Member Function Documentation

secure_vector< byte > Botan::TLS::Handshake_Hash::final ( Protocol_Version  version,
const std::string &  mac_algo 
) const

Return a TLS Handshake Hash

Definition at line 20 of file tls_handshake_hash.cpp.

References Botan::TLS::Protocol_Version::supports_ciphersuite_specific_prf().

   {
   std::unique_ptr<HashFunction> hash;

   if(version.supports_ciphersuite_specific_prf())
      {
      if(mac_algo == "MD5" || mac_algo == "SHA-1")
         hash.reset(make_a<HashFunction>("SHA-256"));
      else
         hash.reset(make_a<HashFunction>(mac_algo));
      }
   else
      hash.reset(make_a<HashFunction>("Parallel(MD5,SHA-160)"));

   hash->update(data);
   return hash->final();
   }
const std::vector<byte>& Botan::TLS::Handshake_Hash::get_contents ( ) const [inline]

Definition at line 38 of file tls_handshake_hash.h.

Referenced by Botan::TLS::Handshake_State::hello_verify_request().

{ data.clear(); }
void Botan::TLS::Handshake_Hash::update ( const byte  in[],
size_t  length 
) [inline]
void Botan::TLS::Handshake_Hash::update ( const std::vector< byte > &  in) [inline]

Definition at line 30 of file tls_handshake_hash.h.

         { data += in; }

The documentation for this class was generated from the following files: