8#ifndef BOTAN_EMSA_PKCS1_H_
9#define BOTAN_EMSA_PKCS1_H_
11#include <botan/emsa.h>
12#include <botan/hash.h>
33 void update(
const uint8_t[],
size_t)
override;
43 std::string
name()
const override
44 {
return "EMSA3(" + m_hash->name() +
")"; }
47 const std::string& cert_hash_name)
const override;
49 std::unique_ptr<HashFunction> m_hash;
50 std::vector<uint8_t> m_hash_id;
63 void update(
const uint8_t[],
size_t)
override;
79 std::string
name()
const override
81 if(m_hash_name.empty())
return "EMSA3(Raw)";
82 else return "EMSA3(Raw," + m_hash_name +
")";
86 size_t m_hash_output_len = 0;
87 std::string m_hash_name;
88 std::vector<uint8_t> m_hash_id;
std::string name() const override
std::string name() const override
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 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)
std::vector< T, secure_allocator< T > > secure_vector
AlgorithmIdentifier hash_algo