9#include <botan/tls_psk_identity_13.h>
11#include <botan/internal/mem_utils.h>
17uint32_t obfuscate_ticket_age(
const uint64_t in,
const uint64_t ticket_age_add) {
23 return static_cast<uint32_t
>(in + ticket_age_add);
26inline std::vector<uint8_t> to_byte_vector(std::string_view s) {
27 return std::vector<uint8_t>(s.cbegin(), s.cend());
33 const std::chrono::milliseconds
age,
34 const uint32_t ticket_age_add) :
38 m_identity(to_byte_vector(
identity.get())),
43 m_obfuscated_age(0) {}
46 return std::chrono::milliseconds(obfuscate_ticket_age(m_obfuscated_age, ticket_age_add));
std::chrono::milliseconds age(uint32_t ticket_age_add) const
PskIdentity(std::vector< uint8_t > identity, const uint32_t obfuscated_age)
std::string identity_as_string() const
const std::vector< uint8_t > & identity() const
Strong< std::string, struct PresharedKeyID_ > PresharedKeyID
holds a PSK identity as used in TLS 1.3
Strong< std::vector< uint8_t >, struct Opaque_Session_Handle_ > Opaque_Session_Handle
holds an opaque session handle as used in TLS 1.3 that could be either a ticket for stateless resumpt...
std::string bytes_to_string(std::span< const uint8_t > bytes)