38#if defined(BOTAN_HAS_EMSA_PKCS1)
42 return std::make_unique<EMSA_PKCS1v15_Raw>(req.
arg(1));
44 if(req.
arg(0) ==
"Raw") {
45 return std::make_unique<EMSA_PKCS1v15_Raw>();
48 return std::make_unique<EMSA_PKCS1v15>(std::move(hash));
55#if defined(BOTAN_HAS_EMSA_PSSR)
61 return std::make_unique<PSSR_Raw>(std::move(hash), salt_size);
63 return std::make_unique<PSSR_Raw>(std::move(hash));
75 return std::make_unique<PSSR>(std::move(hash), salt_size);
77 return std::make_unique<PSSR>(std::move(hash));
84#if defined(BOTAN_HAS_ISO_9796)
88 const size_t salt_size = req.
arg_as_integer(2, hash->output_length());
89 const bool implicit = req.
arg(1,
"exp") ==
"imp";
90 return std::make_unique<ISO_9796_DS2>(std::move(hash), implicit, salt_size);
98 const bool implicit = req.
arg(1,
"exp") ==
"imp";
99 return std::make_unique<ISO_9796_DS3>(std::move(hash), implicit);
105#if defined(BOTAN_HAS_EMSA_X931)
109 return std::make_unique<EMSA_X931>(std::move(hash));
115#if defined(BOTAN_HAS_EMSA_RAW)
118 return std::make_unique<EMSA_Raw>();
122 return std::make_unique<EMSA_Raw>(hash->output_length());