8#include <botan/tls_ciphersuite.h>
10#include <botan/assert.h>
11#include <botan/exceptn.h>
17 switch(m_nonce_format) {
28 throw Invalid_State(
"In Ciphersuite::nonce_bytes_from_handshake invalid enum value");
33 switch(m_nonce_format) {
43 throw Invalid_State(
"In Ciphersuite::nonce_bytes_from_handshake invalid enum value");
66 return (suite == 0x00FF || suite == 0x5600);
113 auto s = std::lower_bound(all_suites.begin(), all_suites.end(), suite);
115 if(s != all_suites.end() && s->ciphersuite_code() == suite) {
125 for(
const auto& suite : all_suites) {
126 if(suite.to_string() == name) {
bool cbc_ciphersuite() const
bool signature_used() const
bool ecc_ciphersuite() const
bool psk_ciphersuite() const
bool null_ciphersuite() const
uint16_t ciphersuite_code() const
size_t nonce_bytes_from_record(Protocol_Version version) const
static const std::vector< Ciphersuite > & all_known_ciphersuites()
Auth_Method auth_method() const
bool usable_in_version(Protocol_Version version) const
static std::optional< Ciphersuite > from_name(std::string_view name)
size_t nonce_bytes_from_handshake() const
static bool is_scsv(uint16_t suite)
static std::optional< Ciphersuite > by_id(uint16_t suite)
bool is_certificate_required() const
Kex_Algo kex_method() const
std::string mac_algo() const
bool aead_ciphersuite() const
std::string cipher_algo() const
bool is_pre_tls_13() const