10Duke Scale C++ Client
Loading...
Searching...
No Matches
KeyFactory.h
1#ifndef TENDUKE_CRYPTO_KEYFACTORY_H
2#define TENDUKE_CRYPTO_KEYFACTORY_H
3
4#include "./PublicKey.h"
5#include "../utl/BinaryData.h"
6
7#include <string>
8#include <memory>
9
10namespace tenduke { namespace crypto {
11
16{
17public:
18 virtual ~KeyFactory() = default;
19
25 virtual std::unique_ptr<tenduke::crypto::PublicKey> publicKeyFromPEM(const std::string &publicKeyAsPEM) const = 0;
26
33 virtual std::unique_ptr<tenduke::crypto::PublicKey> publicKeyFromModuloAndExponent(
34 const tenduke::utl::BinaryData &modulo,
35 const tenduke::utl::BinaryData &exponent
36 ) const = 0;
37
38};
39
40}}
41
42#endif //TENDUKE_CRYPTO_KEYFACTORY_H
Creates cryptographical keys.
Definition KeyFactory.h:16
virtual std::unique_ptr< tenduke::crypto::PublicKey > publicKeyFromPEM(const std::string &publicKeyAsPEM) const =0
Creates a tenduke::crypto::PublicKey from PEM.
virtual std::unique_ptr< tenduke::crypto::PublicKey > publicKeyFromModuloAndExponent(const tenduke::utl::BinaryData &modulo, const tenduke::utl::BinaryData &exponent) const =0
Creates a RSA tenduke::crypto::PublicKey from modulo and exponent.
A holder of binary data.
Definition BinaryData.h:13
Cryptography services.
Definition CryptoException.h:7
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7