10Duke Enterprise C++ SDK
Loading...
Searching...
No Matches
PublicKey.h
1#ifndef TENDUKE_CRYPTO_PUBLICKEY_H
2#define TENDUKE_CRYPTO_PUBLICKEY_H
3
4#include "../asymmetric/DigitalSignatureVerifier.h"
5#include "../msgauthn/HashAlgorithm.h"
6
7#include <memory>
8#include <string>
9
10namespace tenduke { namespace crypto {
11
16{
17public:
18 virtual ~PublicKey() = default;
19
25 virtual std::unique_ptr<::tenduke::crypto::DigitalSignatureVerifier> createSignatureVerifier(::tenduke::crypto::HashAlgorithm algorithm) const = 0;
26
31 virtual std::string toPEM() const = 0;
32};
33
34
35}}
36
37#endif // TENDUKE_CRYPTO_PUBLICKEY_H
Public key.
Definition PublicKey.h:16
virtual std::unique_ptr<::tenduke::crypto::DigitalSignatureVerifier > createSignatureVerifier(::tenduke::crypto::HashAlgorithm algorithm) const =0
Creates a tenduke::crypto::MessageDigestVerifier, which uses this key and given algorithm.
virtual std::string toPEM() const =0
Generates PEM-representation of this key.
Cryptography services.
Definition AbstractCiphers.h:18
HashAlgorithm
Currently supported hash algorithms.
Definition HashAlgorithm.h:13
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4