8#include <botan/pss_params.h>
10#include <botan/assert.h>
11#include <botan/ber_dec.h>
12#include <botan/der_enc.h>
13#include <botan/internal/fmt.h>
14#include <botan/internal/scan_name.h>
23 throw Invalid_Argument(
fmt(
"PSS_Params::from_padding_name unexpected param '{}'", padding_name));
26 const std::string hash_fn = scanner.
arg(0);
41 this->decode_from(decoder);
45 std::vector<uint8_t> output;
67 const size_t default_salt_len = 20;
68 const size_t default_trailer = 1;
#define BOTAN_ASSERT_NOMSG(expr)
std::vector< uint8_t > BER_encode() const
const std::vector< uint8_t > & parameters() const
BER_Decoder & decode(bool &out)
BER_Decoder start_sequence()
BER_Decoder & decode_optional(T &out, ASN1_Type type_tag, ASN1_Class class_tag, const T &default_value=T())
DER_Encoder & start_context_specific(uint32_t tag)
DER_Encoder & start_sequence()
DER_Encoder & encode(bool b)
static PSS_Params from_padding_name(std::string_view padding_name)
void encode_into(DER_Encoder &to) const override
std::vector< uint8_t > serialize() const
PSS_Params(std::string_view hash_fn, size_t salt_len)
std::string arg(size_t i) const
const std::string & algo_name() const
size_t arg_as_integer(size_t i, size_t def_value) const
@ ExplicitContextSpecific
std::string fmt(std::string_view format, const T &... args)