|
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; }
1.7.6.1