Cryptolens Client API for C++
SignatureVerifier_OpenSSL.hpp
1 #pragma once
2 
3 #include <string>
4 
5 #include "imports/openssl/rsa.h"
6 
7 #include "basic_Error.hpp"
8 #include "Error.hpp"
9 #include "SignatureVerifier_v20190401_to_v20180502.hpp"
10 
11 namespace cryptolens_io {
12 
13 namespace v20190401 {
14 
26 {
27 public:
28 #ifndef CRYPTOLENS_20190701_ALLOW_IMPLICIT_CONSTRUCTORS
29  explicit
30 #endif
32 #ifndef CRYPTOLENS_ENABLE_DANGEROUS_COPY_MOVE_CONSTRUCTOR
35  void operator=(SignatureVerifier_OpenSSL const&) = delete;
36  void operator=(SignatureVerifier_OpenSSL &&) = delete;
37 #endif
39 
40  void set_modulus_base64(basic_Error & e, std::string const& modulus_base64);
41  void set_exponent_base64(basic_Error & e, std::string const& exponent_base64);
42 
43  bool verify_message(basic_Error & e, std::string const& message, std::string const& signature_base64) const;
44 
45 private:
46  RSA * rsa;
47 
48  void set_modulus_base64_(basic_Error & e, std::string const& modulus_base64);
49  void set_exponent_base64_(basic_Error & e, std::string const& exponent_base64);
50 };
51 
52 } // namespace v20190401
53 
54 namespace latest {
55 
57 
58 } // namespace latest
59 
60 namespace v20180502 {
61 
73 
74 } // namespace v20180502
75 
76 } // namespace cryptolens_io
bool verify_message(basic_Error &e, std::string const &message, std::string const &signature_base64) const
Definition: SignatureVerifier_OpenSSL.cpp:240
Definition: ActivateError.hpp:5
void set_exponent_base64(basic_Error &e, std::string const &exponent_base64)
Definition: SignatureVerifier_OpenSSL.cpp:154
Definition: basic_Error.hpp:90
void set_modulus_base64(basic_Error &e, std::string const &modulus_base64)
Definition: SignatureVerifier_OpenSSL.cpp:134
Definition: SignatureVerifier_OpenSSL.hpp:25
Definition: SignatureVerifier_v20190401_to_v20180502.hpp:20