38#if defined(BOTAN_HAS_EMSA_PKCS1)
43 return std::make_unique<EMSA_PKCS1v15_Raw>(req.
arg(1));
45 if(req.
arg(0) ==
"Raw") {
46 return std::make_unique<EMSA_PKCS1v15_Raw>();
49 return std::make_unique<EMSA_PKCS1v15>(std::move(hash));
56#if defined(BOTAN_HAS_EMSA_PSSR)
63 return std::make_unique<PSSR_Raw>(std::move(hash), salt_size);
65 return std::make_unique<PSSR_Raw>(std::move(hash));
78 return std::make_unique<PSSR>(std::move(hash), salt_size);
80 return std::make_unique<PSSR>(std::move(hash));
87#if defined(BOTAN_HAS_ISO_9796)
91 const size_t salt_size = req.
arg_as_integer(2, hash->output_length());
92 const bool implicit = req.
arg(1,
"exp") ==
"imp";
93 return std::make_unique<ISO_9796_DS2>(std::move(hash), implicit, salt_size);
101 const bool implicit = req.
arg(1,
"exp") ==
"imp";
102 return std::make_unique<ISO_9796_DS3>(std::move(hash), implicit);
108#if defined(BOTAN_HAS_EMSA_X931)
113 return std::make_unique<EMSA_X931>(std::move(hash));
119#if defined(BOTAN_HAS_EMSA_RAW)
122 return std::make_unique<EMSA_Raw>();
126 return std::make_unique<EMSA_Raw>(hash->output_length());