8#ifndef BOTAN_PK_KEY_FACTORY_H_
9#define BOTAN_PK_KEY_FACTORY_H_
11#include <botan/asn1_obj.h>
12#include <botan/pk_keys.h>
18std::unique_ptr<Public_Key>
load_public_key(const AlgorithmIdentifier& alg_id, std::span<const uint8_t> key_bits);
21std::unique_ptr<Private_Key>
load_private_key(const AlgorithmIdentifier& alg_id, std::span<const uint8_t> key_bits);
33 RandomNumberGenerator& rng,
34 std::string_view algo_params = "",
35 std::string_view provider = "");
44 const EC_Group& group,
45 RandomNumberGenerator& rng);
49 const std::vector<std::
string>& possible);
#define BOTAN_PUBLIC_API(maj, min)
std::unique_ptr< Private_Key > create_private_key(std::string_view alg_name, RandomNumberGenerator &rng, std::string_view params, std::string_view provider)
std::vector< std::string > probe_provider_private_key(std::string_view alg_name, const std::vector< std::string > &possible)
std::unique_ptr< Private_Key > load_private_key(const AlgorithmIdentifier &alg_id, std::span< const uint8_t > key_bits)
std::unique_ptr< Public_Key > load_public_key(const AlgorithmIdentifier &alg_id, std::span< const uint8_t > key_bits)
std::unique_ptr< Private_Key > create_ec_private_key(std::string_view alg_name, const EC_Group &ec_group, RandomNumberGenerator &rng)