Botan
1.11.15
|
#include <tls_messages.h>
Public Member Functions | |
const std::vector < X509_Certificate > & | cert_chain () const |
Certificate (Handshake_IO &io, Handshake_Hash &hash, const std::vector< X509_Certificate > &certs) | |
Certificate (const std::vector< byte > &buf) | |
size_t | count () const |
bool | empty () const |
Handshake_Type | type () const override |
Certificate Message
Definition at line 353 of file tls_messages.h.
Botan::TLS::Certificate::Certificate | ( | Handshake_IO & | io, |
Handshake_Hash & | hash, | ||
const std::vector< X509_Certificate > & | cert_list | ||
) |
Create a new Certificate message
Definition at line 23 of file msg_certificate.cpp.
References Botan::TLS::Handshake_IO::send(), and Botan::TLS::Handshake_Hash::update().
:
m_certs(cert_list)
{
hash.update(io.send(*this));
}
Botan::TLS::Certificate::Certificate | ( | const std::vector< byte > & | buf | ) |
Deserialize a Certificate message
Definition at line 34 of file msg_certificate.cpp.
References Botan::make_u32bit().
{ if(buf.size() < 3) throw Decoding_Error("Certificate: Message malformed"); const size_t total_size = make_u32bit(0, buf[0], buf[1], buf[2]); if(total_size != buf.size() - 3) throw Decoding_Error("Certificate: Message malformed"); const byte* certs = &buf[3]; while(size_t remaining_bytes = &buf[buf.size()] - certs) { if(remaining_bytes < 3) throw Decoding_Error("Certificate: Message malformed"); const size_t cert_size = make_u32bit(0, certs[0], certs[1], certs[2]); if(remaining_bytes < (3 + cert_size)) throw Decoding_Error("Certificate: Message malformed"); DataSource_Memory cert_buf(&certs[3], cert_size); m_certs.push_back(X509_Certificate(cert_buf)); certs += cert_size + 3; } }
const std::vector<X509_Certificate>& Botan::TLS::Certificate::cert_chain | ( | ) | const [inline] |
Definition at line 357 of file tls_messages.h.
{ return m_certs; }
size_t Botan::TLS::Certificate::count | ( | ) | const [inline] |
Definition at line 359 of file tls_messages.h.
{ return m_certs.size(); }
bool Botan::TLS::Certificate::empty | ( | ) | const [inline] |
Definition at line 360 of file tls_messages.h.
{ return m_certs.empty(); }
Handshake_Type Botan::TLS::Certificate::type | ( | ) | const [inline, override, virtual] |
Implements Botan::TLS::Handshake_Message.
Definition at line 356 of file tls_messages.h.
References Botan::TLS::CERTIFICATE.
{ return CERTIFICATE; }