7#include <botan/tls_algos.h>
8#include <botan/exceptn.h>
51 throw Invalid_State(
"kex_method_to_string unknown enum value");
77 if(str ==
"ECDHE_PSK")
99 throw Invalid_State(
"auth_method_to_string unknown enum value");
110 if(str ==
"IMPLICIT")
112 if(str ==
"ANONYMOUS" || str ==
"")
120 uint16_t group_id =
static_cast<uint16_t
>(group);
121 return (group_id >= 256 && group_id < 512);
126 if(group_name ==
"secp256r1")
128 if(group_name ==
"secp384r1")
130 if(group_name ==
"secp521r1")
132 if(group_name ==
"brainpool256r1")
134 if(group_name ==
"brainpool384r1")
136 if(group_name ==
"brainpool512r1")
138 if(group_name ==
"x25519")
141 if(group_name ==
"ffdhe/ietf/2048")
143 if(group_name ==
"ffdhe/ietf/3072")
145 if(group_name ==
"ffdhe/ietf/4096")
147 if(group_name ==
"ffdhe/ietf/6144")
149 if(group_name ==
"ffdhe/ietf/8192")
166 return "brainpool256r1";
168 return "brainpool384r1";
170 return "brainpool512r1";
175 return "ffdhe/ietf/2048";
177 return "ffdhe/ietf/3072";
179 return "ffdhe/ietf/4096";
181 return "ffdhe/ietf/6144";
183 return "ffdhe/ietf/8192";
226 throw Invalid_State(
"hash_function_of_scheme: Unknown signature algorithm enum");
234 static const std::vector<Signature_Scheme> all_schemes = {
326 throw Invalid_State(
"signature_algorithm_of_scheme: Unknown signature algorithm enum");
334 return "RSA_PKCS1_SHA1";
336 return "RSA_PKCS1_SHA256";
338 return "RSA_PKCS1_SHA384";
340 return "RSA_PKCS1_SHA512";
354 return "ECDSA_SHA256";
356 return "ECDSA_SHA384";
358 return "ECDSA_SHA512";
361 return "RSA_PSS_SHA256";
363 return "RSA_PSS_SHA384";
365 return "RSA_PSS_SHA512";
368 return "EDDSA_25519";
376 throw Invalid_State(
"sig_scheme_to_string: Unknown signature algorithm enum");
384 return "EMSA_PKCS1(SHA-1)";
386 return "EMSA_PKCS1(SHA-256)";
388 return "EMSA_PKCS1(SHA-384)";
390 return "EMSA_PKCS1(SHA-512)";
394 return "EMSA1(SHA-1)";
397 return "EMSA1(SHA-256)";
400 return "EMSA1(SHA-384)";
403 return "EMSA1(SHA-512)";
406 return "PSSR(SHA-256,MGF1,32)";
408 return "PSSR(SHA-384,MGF1,48)";
410 return "PSSR(SHA-512,MGF1,64)";
421 throw Invalid_State(
"padding_string_for_scheme: Unknown signature algorithm enum");
const std::vector< Signature_Scheme > & all_signature_schemes()
Auth_Method auth_method_from_string(const std::string &str)
bool signature_scheme_is_known(Signature_Scheme scheme)
Group_Params group_param_from_string(const std::string &group_name)
std::string kdf_algo_to_string(KDF_Algo algo)
std::string kex_method_to_string(Kex_Algo method)
bool group_param_is_dh(Group_Params group)
std::string hash_function_of_scheme(Signature_Scheme scheme)
std::string group_param_to_string(Group_Params group)
std::string padding_string_for_scheme(Signature_Scheme scheme)
std::string auth_method_to_string(Auth_Method method)
Kex_Algo kex_method_from_string(const std::string &str)
std::string sig_scheme_to_string(Signature_Scheme scheme)
std::string signature_algorithm_of_scheme(Signature_Scheme scheme)