#include "anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier.h"
#include <stdint.h>
#include <memory>
#include <string>
#include <utility>
#include "absl/memory/memory.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "anonymous_tokens/cpp/crypto/anonymous_tokens_pb_openssl_converters.h"
#include "anonymous_tokens/cpp/crypto/constants.h"
#include "anonymous_tokens/cpp/crypto/crypto_utils.h"
#include "anonymous_tokens/cpp/shared/status_utils.h"
#include "anonymous_tokens/proto/anonymous_tokens.pb.h"
#include <openssl/bn.h>
#include <openssl/rsa.h>
namespace anonymous_tokens {
absl::StatusOr<std::unique_ptr<RsaSsaPssVerifier>> RsaSsaPssVerifier::New(
const int salt_length, const EVP_MD* sig_hash, const EVP_MD* mgf1_hash,
const RSAPublicKey& public_key, const bool use_rsa_public_exponent,
std::optional<absl::string_view> public_metadata) { … }
RsaSsaPssVerifier::RsaSsaPssVerifier(
int salt_length, std::optional<absl::string_view> public_metadata,
const EVP_MD* sig_hash, const EVP_MD* mgf1_hash,
bssl::UniquePtr<RSA> rsa_public_key)
: … { … }
absl::Status RsaSsaPssVerifier::Verify(absl::string_view unblind_token,
absl::string_view message) { … }
}