8 #include <botan/internal/tls_messages.h>     9 #include <botan/internal/tls_reader.h>    10 #include <botan/der_enc.h>    11 #include <botan/ber_dec.h>    12 #include <botan/loadstor.h>    13 #include <botan/secqueue.h>    22                                  const std::vector<X509_Certificate>& certs)
    24    for(
size_t i = 0; i != certs.size(); ++i)
    25       names.push_back(certs[i].subject_dn());
    44    for(
size_t i = 0; i != names.size(); ++i)
    60    size_t types_size = buf[0];
    62    if(buf.
size() < types_size + 3)
    65    for(
size_t i = 0; i != types_size; ++i)
    66       types.push_back(static_cast<Certificate_Type>(buf[i+1]));
    68    size_t names_size = 
make_u16bit(buf[types_size+2], buf[types_size+3]);
    70    if(buf.
size() != names_size + types_size + 3)
    73    BER_Decoder decoder(&buf[types_size + 3], names_size);
    79       names.push_back(name);
    87                          const std::vector<X509_Certificate>& cert_list,
   101    for(
size_t i = 0; i != certs.size(); ++i)
   104       const size_t cert_size = raw_cert.
size();
   105       for(
size_t i = 0; i != 3; ++i)
   106          buf.
push_back(get_byte<u32bit>(i+1, cert_size));
   110    const size_t buf_size = buf.
size() - 3;
   111    for(
size_t i = 0; i != 3; ++i)
   112       buf[i] = get_byte<u32bit>(i+1, buf_size);
   125    const size_t total_size = 
make_u32bit(0, buf[0], buf[1], buf[2]);
   130    if(queue.
size() != total_size)
   141       const size_t cert_size = 
make_u32bit(0, len[0], len[1], len[2]);
   142       const size_t original_size = queue.
size();
   145       if(queue.
size() + cert_size != original_size)
   147       certs.push_back(cert);
 void append_tls_length_value(MemoryRegion< byte > &buf, const T *vals, size_t vals_size, size_t tag_size)
SecureVector< byte > get_contents()
void send(Record_Writer &, HandshakeHash &) const
size_t read(byte[], size_t)
BER_Decoder & decode(bool &)
Certificate(Record_Writer &, const std::vector< X509_Certificate > &, HandshakeHash &)
DER_Encoder & encode(bool b)
void write(const byte[], size_t)
u16bit make_u16bit(byte i0, byte i1)
u32bit make_u32bit(byte i0, byte i1, byte i2, byte i3)
Certificate_Req(Record_Writer &, HandshakeHash &, const std::vector< X509_Certificate > &)