11#include <botan/emsa.h>
12#include <botan/hash.h>
32 std::string
name()
const override;
35 const std::string& cert_hash_name)
const override;
37 size_t hash_output_length()
const {
return m_hash->output_length(); }
39 void update(
const uint8_t[],
size_t)
override;
40 secure_vector<uint8_t>
raw_data()
override;
42 secure_vector<uint8_t>
encoding_of(
const secure_vector<uint8_t>& msg,
44 RandomNumberGenerator& rng)
override;
46 bool verify(
const secure_vector<uint8_t>& coded,
47 const secure_vector<uint8_t>& raw,
48 size_t key_bits)
override;
50 std::unique_ptr<HashFunction> m_hash;
EMSA1(HashFunction *hash)
virtual secure_vector< uint8_t > encoding_of(const secure_vector< uint8_t > &msg, size_t output_bits, RandomNumberGenerator &rng)=0
virtual bool verify(const secure_vector< uint8_t > &coded, const secure_vector< uint8_t > &raw, size_t key_bits)=0
virtual secure_vector< uint8_t > raw_data()=0
virtual std::string name() const =0
virtual AlgorithmIdentifier config_for_x509(const Private_Key &key, const std::string &cert_hash_name) const
int(* update)(CTX *, const void *, CC_LONG len)
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
#define BOTAN_FUTURE_INTERNAL_HEADER(hdr)