Botan 1.10.17
Botan::Certificate Class Reference

#include <tls_messages.h>

Inheritance diagram for Botan::Certificate:
Botan::HandshakeMessage

Public Member Functions

std::vector< X509_Certificatecert_chain () const
 Certificate (const MemoryRegion< byte > &buf)
 Certificate (Record_Writer &, const std::vector< X509_Certificate > &, HandshakeHash &)
void send (Record_Writer &, HandshakeHash &) const
Handshake_Type type () const

Detailed Description

Certificate Message

Definition at line 118 of file tls_messages.h.

Constructor & Destructor Documentation

◆ Certificate() [1/2]

Botan::Certificate::Certificate ( Record_Writer & writer,
const std::vector< X509_Certificate > & cert_list,
HandshakeHash & hash )

Create a new Certificate message

Definition at line 86 of file cert_req.cpp.

89 {
90 certs = cert_list;
91 send(writer, hash);
92 }
void send(Record_Writer &, HandshakeHash &) const
Definition hello.cpp:16

References Botan::HandshakeMessage::send().

◆ Certificate() [2/2]

Botan::Certificate::Certificate ( const MemoryRegion< byte > & buf)
inline

Definition at line 126 of file tls_messages.h.

126{ deserialize(buf); }

Member Function Documentation

◆ cert_chain()

std::vector< X509_Certificate > Botan::Certificate::cert_chain ( ) const
inline

Definition at line 122 of file tls_messages.h.

122{ return certs; }

◆ send()

void Botan::HandshakeMessage::send ( Record_Writer & writer,
HandshakeHash & hash ) const
inherited

Definition at line 16 of file hello.cpp.

17 {
18 SecureVector<byte> buf = serialize();
19 SecureVector<byte> send_buf(4);
20
21 const size_t buf_size = buf.size();
22
23 send_buf[0] = type();
24
25 for(size_t i = 1; i != 4; ++i)
26 send_buf[i] = get_byte<u32bit>(i, buf_size);
27
28 send_buf += buf;
29
30 hash.update(send_buf);
31
32 writer.send(HANDSHAKE, &send_buf[0], send_buf.size());
33 writer.flush();
34 }
virtual Handshake_Type type() const =0
byte get_byte(size_t byte_num, T input)
Definition get_byte.h:21
@ HANDSHAKE
Definition tls_magic.h:36

References Botan::Record_Writer::flush(), Botan::get_byte(), Botan::HANDSHAKE, Botan::Record_Writer::send(), Botan::MemoryRegion< T >::size(), type(), and Botan::HandshakeHash::update().

Referenced by Botan::Certificate::Certificate(), Botan::Certificate_Req::Certificate_Req(), Botan::Certificate_Verify::Certificate_Verify(), Botan::Client_Hello::Client_Hello(), Botan::Client_Key_Exchange::Client_Key_Exchange(), Botan::Finished::Finished(), Botan::Hello_Request::Hello_Request(), Botan::Server_Hello::Server_Hello(), Botan::Server_Hello_Done::Server_Hello_Done(), and Botan::Server_Key_Exchange::Server_Key_Exchange().

◆ type()

Handshake_Type Botan::Certificate::type ( ) const
inlinevirtual

Implements Botan::HandshakeMessage.

Definition at line 121 of file tls_messages.h.

121{ return CERTIFICATE; }
@ CERTIFICATE
Definition tls_magic.h:45

References Botan::CERTIFICATE.


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