8#include <botan/internal/pk_algs.h>
11#if defined(BOTAN_HAS_RSA)
12 #include <botan/rsa.h>
15#if defined(BOTAN_HAS_DSA)
16 #include <botan/dsa.h>
19#if defined(BOTAN_HAS_DIFFIE_HELLMAN)
23#if defined(BOTAN_HAS_ECDSA)
24 #include <botan/ecdsa.h>
27#if defined(BOTAN_HAS_GOST_34_10_2001)
28 #include <botan/gost_3410.h>
31#if defined(BOTAN_HAS_NYBERG_RUEPPEL)
35#if defined(BOTAN_HAS_RW)
39#if defined(BOTAN_HAS_ELGAMAL)
40 #include <botan/elgamal.h>
43#if defined(BOTAN_HAS_ECDH)
44 #include <botan/ecdh.h>
56#if defined(BOTAN_HAS_RSA)
61#if defined(BOTAN_HAS_RW)
66#if defined(BOTAN_HAS_DSA)
71#if defined(BOTAN_HAS_DIFFIE_HELLMAN)
76#if defined(BOTAN_HAS_NYBERG_RUEPPEL)
81#if defined(BOTAN_HAS_ELGAMAL)
82 if(alg_name ==
"ElGamal")
86#if defined(BOTAN_HAS_ECDSA)
87 if(alg_name ==
"ECDSA")
91#if defined(BOTAN_HAS_GOST_34_10_2001)
92 if(alg_name ==
"GOST-34.10")
93 return new GOST_3410_PublicKey(alg_id, key_bits);
96#if defined(BOTAN_HAS_ECDH)
97 if(alg_name ==
"ECDH")
112#if defined(BOTAN_HAS_RSA)
113 if(alg_name ==
"RSA")
117#if defined(BOTAN_HAS_RW)
122#if defined(BOTAN_HAS_DSA)
123 if(alg_name ==
"DSA")
127#if defined(BOTAN_HAS_DIFFIE_HELLMAN)
132#if defined(BOTAN_HAS_NYBERG_RUEPPEL)
137#if defined(BOTAN_HAS_ELGAMAL)
138 if(alg_name ==
"ElGamal")
142#if defined(BOTAN_HAS_ECDSA)
143 if(alg_name ==
"ECDSA")
147#if defined(BOTAN_HAS_GOST_34_10_2001)
148 if(alg_name ==
"GOST-34.10")
149 return new GOST_3410_PrivateKey(alg_id, key_bits);
152#if defined(BOTAN_HAS_ECDH)
153 if(alg_name ==
"ECDH")
DH_PrivateKey(const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits, RandomNumberGenerator &rng)
DSA_PrivateKey(const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits, RandomNumberGenerator &rng)
ECDH_PrivateKey(const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits)
ECDSA_PrivateKey(const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits)
ElGamal_PrivateKey(const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits, RandomNumberGenerator &rng)
NR_PrivateKey(const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits, RandomNumberGenerator &rng)
std::string as_string() const
RSA_PrivateKey(const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits, RandomNumberGenerator &rng)
RW_PrivateKey(const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits, RandomNumberGenerator &rng)
std::string lookup(const OID &oid)
Private_Key * make_private_key(const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits, RandomNumberGenerator &rng)
Public_Key * make_public_key(const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits)
Decoding_Error(const std::string &name)