#include <pk_ops_impl.h>
Definition at line 50 of file pk_ops_impl.h.
◆ ~Verification_with_Hash()
Botan::PK_Ops::Verification_with_Hash::~Verification_with_Hash |
( |
| ) |
|
|
overridedefault |
◆ Verification_with_Hash() [1/2]
Botan::PK_Ops::Verification_with_Hash::Verification_with_Hash |
( |
std::string_view | hash | ) |
|
|
explicitprotected |
Definition at line 141 of file pk_ops.cpp.
141 :
142 Verification(), m_hash(create_signature_hash(padding)) {}
◆ Verification_with_Hash() [2/2]
Botan::PK_Ops::Verification_with_Hash::Verification_with_Hash |
( |
const AlgorithmIdentifier & | alg_id, |
|
|
std::string_view | pk_algo, |
|
|
bool | allow_null_parameters = false ) |
|
explicitprotected |
Definition at line 144 of file pk_ops.cpp.
146 {
147 const auto oid_info =
split_on(alg_id.oid().to_formatted_string(),
'/');
148
149 if(oid_info.size() != 2 || oid_info[0] != pk_algo) {
150 throw Decoding_Error(
151 fmt(
"Unexpected AlgorithmIdentifier OID {} in association with {} key", alg_id.oid(), pk_algo));
152 }
153
154 if(!alg_id.parameters_are_empty()) {
155 if(alg_id.parameters_are_null()) {
156 if(!allow_null_parameters) {
157 throw Decoding_Error(
fmt(
"Unexpected NULL AlgorithmIdentifier parameters for {}", pk_algo));
158 }
159 } else {
160 throw Decoding_Error(
fmt(
"Unexpected AlgorithmIdentifier parameters for {}", pk_algo));
161 }
162 }
163
165}
static std::unique_ptr< HashFunction > create_or_throw(std::string_view algo_spec, std::string_view provider="")
std::string fmt(std::string_view format, const T &... args)
std::vector< std::string > split_on(std::string_view str, char delim)
References Botan::HashFunction::create_or_throw(), Botan::fmt(), Botan::AlgorithmIdentifier::oid(), Botan::AlgorithmIdentifier::parameters_are_empty(), Botan::AlgorithmIdentifier::parameters_are_null(), Botan::split_on(), and Botan::OID::to_formatted_string().
◆ hash_function()
std::string Botan::PK_Ops::Verification_with_Hash::hash_function |
( |
| ) |
const |
|
inlinefinalvirtual |
◆ is_valid_signature()
bool Botan::PK_Ops::Verification_with_Hash::is_valid_signature |
( |
std::span< const uint8_t > | sig | ) |
|
|
overridevirtual |
Perform a verification operation
- Parameters
-
sig | the signature to be checked with respect to the input |
Implements Botan::PK_Ops::Verification.
Definition at line 171 of file pk_ops.cpp.
171 {
172 const std::vector<uint8_t> msg = m_hash->final_stdvec();
174}
virtual bool verify(std::span< const uint8_t > input, std::span< const uint8_t > sig)=0
◆ update()
void Botan::PK_Ops::Verification_with_Hash::update |
( |
std::span< const uint8_t > | input | ) |
|
|
overridevirtual |
Add more data to the message currently being signed
- Parameters
-
input | the input to be hashed/verified |
Implements Botan::PK_Ops::Verification.
Definition at line 167 of file pk_ops.cpp.
167 {
168 m_hash->update(msg);
169}
◆ verify()
virtual bool Botan::PK_Ops::Verification_with_Hash::verify |
( |
std::span< const uint8_t > | input, |
|
|
std::span< const uint8_t > | sig ) |
|
protectedpure virtual |
The documentation for this class was generated from the following files: