38#if defined(BOTAN_HAS_EMSA_PKCS1)
43 return std::make_unique<PKCS1v15_Raw_SignaturePaddingScheme>(req.
arg(1));
45 if(req.
arg(0) ==
"Raw") {
46 return std::make_unique<PKCS1v15_Raw_SignaturePaddingScheme>();
49 return std::make_unique<PKCS1v15_SignaturePaddingScheme>(std::move(hash));
56#if defined(BOTAN_HAS_EMSA_PSSR)
63 return std::make_unique<PSS_Raw>(std::move(hash), salt_size);
65 return std::make_unique<PSS_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)
90 const std::string trailer = req.
arg(1,
"exp");
91 if(trailer !=
"imp" && trailer !=
"exp") {
95 const size_t salt_size = req.
arg_as_integer(2, hash->output_length());
96 return std::make_unique<ISO_9796_DS2>(std::move(hash), trailer ==
"imp", salt_size);
103 const std::string trailer = req.
arg(1,
"exp");
104 if(trailer !=
"imp" && trailer !=
"exp") {
108 return std::make_unique<ISO_9796_DS3>(std::move(hash), trailer ==
"imp");
114#if defined(BOTAN_HAS_X931_SIGNATURE_PADDING)
119 return std::make_unique<X931_SignaturePadding>(std::move(hash));
125#if defined(BOTAN_HAS_RAW_SIGNATURE_PADDING)
128 return std::make_unique<SignRawBytes>();
132 return std::make_unique<SignRawBytes>(hash->output_length());