11#include <botan/pk_keys.h>
12#include <botan/exceptn.h>
13#include <botan/secmem.h>
21class RandomNumberGenerator;
65 RandomNumberGenerator& rng,
66 const
std::
string& pass,
67 std::chrono::milliseconds msec =
std::chrono::milliseconds(300),
68 const
std::
string& pbe_algo = "");
84 RandomNumberGenerator& rng,
85 const
std::
string& pass,
86 std::chrono::milliseconds msec =
std::chrono::milliseconds(300),
87 const
std::
string& pbe_algo = "");
104 RandomNumberGenerator& rng,
105 const
std::
string& pass,
107 const
std::
string& cipher = "",
108 const
std::
string& pbkdf_hash = "");
126 RandomNumberGenerator& rng,
127 const
std::
string& pass,
129 const
std::
string& cipher = "",
130 const
std::
string& pbkdf_hash = "");
148 RandomNumberGenerator& rng,
149 const
std::
string& pass,
150 std::chrono::milliseconds pbkdf_msec,
151 size_t* pbkdf_iterations,
152 const
std::
string& cipher = "",
153 const
std::
string& pbkdf_hash = "");
173 RandomNumberGenerator& rng,
174 const
std::
string& pass,
175 std::chrono::milliseconds pbkdf_msec,
176 size_t* pbkdf_iterations,
177 const
std::
string& cipher = "",
178 const
std::
string& pbkdf_hash = "");
188 RandomNumberGenerator& rng,
189 std::function<
std::
string ()> get_passphrase);
198 RandomNumberGenerator& rng,
199 const
std::
string& pass);
207 RandomNumberGenerator& rng);
209#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM)
218 RandomNumberGenerator& rng,
219 std::function<
std::
string ()> get_passphrase);
228 RandomNumberGenerator& rng,
229 const
std::
string& pass);
237 RandomNumberGenerator& rng);
247 RandomNumberGenerator& rng);
257std::unique_ptr<Private_Key>
load_key(DataSource& source,
258 std::function<
std::
string ()> get_passphrase);
266std::unique_ptr<Private_Key>
load_key(DataSource& source,
267 const
std::
string& pass);
274std::unique_ptr<Private_Key>
load_key(DataSource& source);
282std::unique_ptr<Private_Key>
copy_key(const Private_Key& key);
PKCS8_Exception(const std::string &error)
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
std::unique_ptr< Private_Key > copy_key(const Private_Key &key)
std::vector< uint8_t > BER_encode_encrypted_pbkdf_iter(const Private_Key &key, RandomNumberGenerator &rng, const std::string &pass, size_t pbkdf_iterations, const std::string &cipher, const std::string &pbkdf_hash)
std::string PEM_encode(const Private_Key &key)
std::string PEM_encode_encrypted_pbkdf_msec(const Private_Key &key, RandomNumberGenerator &rng, const std::string &pass, std::chrono::milliseconds pbkdf_msec, size_t *pbkdf_iterations, const std::string &cipher, const std::string &pbkdf_hash)
std::unique_ptr< Private_Key > load_key(DataSource &source, std::function< std::string()> get_pass)
secure_vector< uint8_t > BER_encode(const Private_Key &key)
std::vector< uint8_t > BER_encode_encrypted_pbkdf_msec(const Private_Key &key, RandomNumberGenerator &rng, const std::string &pass, std::chrono::milliseconds pbkdf_msec, size_t *pbkdf_iterations, const std::string &cipher, const std::string &pbkdf_hash)
std::string PEM_encode_encrypted_pbkdf_iter(const Private_Key &key, RandomNumberGenerator &rng, const std::string &pass, size_t pbkdf_iterations, const std::string &cipher, const std::string &pbkdf_hash)
std::vector< T, secure_allocator< T > > secure_vector