9#ifndef BOTAN_TLS_SIGNATURE_SCHEME_H_
10#define BOTAN_TLS_SIGNATURE_SCHEME_H_
12#include <botan/types.h>
13#include <botan/asn1_obj.h>
14#include <botan/pk_keys.h>
21class Protocol_Version;
36 RSA_PKCS1_SHA1 = 0x0201,
37 RSA_PKCS1_SHA256 = 0x0401,
38 RSA_PKCS1_SHA384 = 0x0501,
39 RSA_PKCS1_SHA512 = 0x0601,
42 ECDSA_SHA256 = 0x0403,
43 ECDSA_SHA384 = 0x0503,
44 ECDSA_SHA512 = 0x0603,
46 RSA_PSS_SHA256 = 0x0804,
47 RSA_PSS_SHA384 = 0x0805,
48 RSA_PSS_SHA512 = 0x0806,
64 static const std::vector<Signature_Scheme>& all_available_schemes();
80 bool is_available() const noexcept;
85 bool is_set() const noexcept;
88 std::
string hash_function_name() const noexcept;
89 std::
string padding_string() const noexcept;
90 std::
string algorithm_name() const noexcept;
94 bool is_compatible_with(const
Protocol_Version& protocol_version) const noexcept;
95 bool is_suitable_for(const
Private_Key& private_key) const noexcept;
Signature_Scheme::Code wire_code() const noexcept
bool operator!=(const Signature_Scheme &rhs) const
#define BOTAN_PUBLIC_API(maj, min)
std::string to_string(ErrorType type)
Convert an ErrorType to string.