8 #include <botan/internal/core_engine.h> 10 #if defined(BOTAN_HAS_RSA) 11 #include <botan/rsa.h> 14 #if defined(BOTAN_HAS_RW) 18 #if defined(BOTAN_HAS_DSA) 19 #include <botan/dsa.h> 22 #if defined(BOTAN_HAS_ECDSA) 23 #include <botan/ecdsa.h> 26 #if defined(BOTAN_HAS_ELGAMAL) 27 #include <botan/elgamal.h> 30 #if defined(BOTAN_HAS_GOST_34_10_2001) 31 #include <botan/gost_3410.h> 34 #if defined(BOTAN_HAS_NYBERG_RUEPPEL) 38 #if defined(BOTAN_HAS_DIFFIE_HELLMAN) 42 #if defined(BOTAN_HAS_ECDH) 43 #include <botan/ecdh.h> 51 #if defined(BOTAN_HAS_RSA) 52 if(
const RSA_PublicKey* s = dynamic_cast<const RSA_PublicKey*>(&key))
56 #if defined(BOTAN_HAS_ELGAMAL) 67 #if defined(BOTAN_HAS_RSA) 68 if(
const RSA_PrivateKey* s = dynamic_cast<const RSA_PrivateKey*>(&key))
72 #if defined(BOTAN_HAS_ELGAMAL) 83 #if defined(BOTAN_HAS_DIFFIE_HELLMAN) 84 if(
const DH_PrivateKey* dh = dynamic_cast<const DH_PrivateKey*>(&key))
88 #if defined(BOTAN_HAS_ECDH) 89 if(
const ECDH_PrivateKey* ecdh = dynamic_cast<const ECDH_PrivateKey*>(&key))
99 #if defined(BOTAN_HAS_RSA) 100 if(
const RSA_PrivateKey* s = dynamic_cast<const RSA_PrivateKey*>(&key))
104 #if defined(BOTAN_HAS_RW) 105 if(
const RW_PrivateKey* s = dynamic_cast<const RW_PrivateKey*>(&key))
109 #if defined(BOTAN_HAS_DSA) 110 if(
const DSA_PrivateKey* s = dynamic_cast<const DSA_PrivateKey*>(&key))
114 #if defined(BOTAN_HAS_ECDSA) 119 #if defined(BOTAN_HAS_GOST_34_10_2001) 120 if(
const GOST_3410_PrivateKey* s =
121 dynamic_cast<const GOST_3410_PrivateKey*>(&key))
122 return new GOST_3410_Signature_Operation(*s);
125 #if defined(BOTAN_HAS_NYBERG_RUEPPEL) 126 if(
const NR_PrivateKey* s = dynamic_cast<const NR_PrivateKey*>(&key))
136 #if defined(BOTAN_HAS_RSA) 137 if(
const RSA_PublicKey* s = dynamic_cast<const RSA_PublicKey*>(&key))
141 #if defined(BOTAN_HAS_RW) 142 if(
const RW_PublicKey* s = dynamic_cast<const RW_PublicKey*>(&key))
146 #if defined(BOTAN_HAS_DSA) 147 if(
const DSA_PublicKey* s = dynamic_cast<const DSA_PublicKey*>(&key))
151 #if defined(BOTAN_HAS_ECDSA) 152 if(
const ECDSA_PublicKey* s = dynamic_cast<const ECDSA_PublicKey*>(&key))
156 #if defined(BOTAN_HAS_GOST_34_10_2001) 157 if(
const GOST_3410_PublicKey* s =
158 dynamic_cast<const GOST_3410_PublicKey*>(&key))
159 return new GOST_3410_Verification_Operation(*s);
162 #if defined(BOTAN_HAS_NYBERG_RUEPPEL) 163 if(
const NR_PublicKey* s = dynamic_cast<const NR_PublicKey*>(&key))
PK_Ops::Verification * get_verify_op(const Public_Key &key) const
PK_Ops::Decryption * get_decryption_op(const Private_Key &key) const
PK_Ops::Signature * get_signature_op(const Private_Key &key) const
PK_Ops::Key_Agreement * get_key_agreement_op(const Private_Key &key) const
PK_Ops::Encryption * get_encryption_op(const Public_Key &key) const