17 #ifndef RSAENCODERDECODER_HPP_ 
   18 #define RSAENCODERDECODER_HPP_ 
   22 #include <botan/rsa.h> 
   31             const std::string& privKey,
 
   32             const Botan::MemoryVector<std::uint8_t>& remoteKey);
 
   36     std::string 
encodeData(
const std::uint8_t *data, std::size_t size);
 
   37     std::string 
decodeData(
const std::uint8_t *data, std::size_t size);
 
   38     Botan::SecureVector<std::uint8_t> 
signData(
const std::uint8_t *data, std::size_t size);
 
   39     bool verifySignature(
const std::uint8_t *data, std::size_t len, 
const std::uint8_t *sig, std::size_t sigLen);
 
   42     std::string cipherPipe(
const std::uint8_t *data, std::size_t size, Botan::Cipher_Dir dir);
 
   45     Botan::AutoSeeded_RNG rng_;
 
   46     std::unique_ptr<Botan::X509_PublicKey>   pubKey_;
 
   47     std::unique_ptr<Botan::PKCS8_PrivateKey> privKey_;
 
   48     std::unique_ptr<Botan::X509_PublicKey>   remoteKey_;
 
   50     Botan::SymmetricKey sessionKey_;
 
std::string decodeData(const std::uint8_t *data, std::size_t size)
 
RsaEncoderDecoder(const Botan::MemoryVector< std::uint8_t > &pubKey, const std::string &privKey, const Botan::MemoryVector< std::uint8_t > &remoteKey)
 
Botan::SecureVector< std::uint8_t > signData(const std::uint8_t *data, std::size_t size)
 
Botan::SecureVector< std::uint8_t > getEncodedSessionKey()
 
bool verifySignature(const std::uint8_t *data, std::size_t len, const std::uint8_t *sig, std::size_t sigLen)
 
std::string encodeData(const std::uint8_t *data, std::size_t size)