|
Botan
1.11.15
|
#include <tls_handshake_hash.h>
Public Member Functions | |
| secure_vector< byte > | final (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) |
TLS Handshake Hash
Definition at line 24 of file tls_handshake_hash.h.
| 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 36 of file tls_handshake_hash.h.
Referenced by Botan::TLS::Certificate_Verify::Certificate_Verify(), and Botan::TLS::Certificate_Verify::verify().
{ return data; }
| void Botan::TLS::Handshake_Hash::reset | ( | ) | [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] |
Definition at line 27 of file tls_handshake_hash.h.
Referenced by Botan::TLS::Certificate::Certificate(), Botan::TLS::Certificate_Verify::Certificate_Verify(), Botan::TLS::Client_Hello::Client_Hello(), Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::Finished::Finished(), Botan::TLS::Handshake_State::hello_verify_request(), Botan::TLS::New_Session_Ticket::New_Session_Ticket(), Botan::TLS::Next_Protocol::Next_Protocol(), Botan::TLS::Server_Hello::Server_Hello(), Botan::TLS::Server_Hello_Done::Server_Hello_Done(), and Botan::TLS::Server_Key_Exchange::Server_Key_Exchange().
{ data += std::make_pair(in, length); }
| void Botan::TLS::Handshake_Hash::update | ( | const std::vector< byte > & | in | ) | [inline] |
Definition at line 30 of file tls_handshake_hash.h.
{ data += in; }
1.7.6.1