#include "anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier.h"
#include <memory>
#include <string>
#include <utility>
#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include "absl/status/status.h"
#include "absl/status/statusor.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/testing/proto_utils.h"
#include "anonymous_tokens/cpp/testing/utils.h"
#include "anonymous_tokens/proto/anonymous_tokens.pb.h"
#include <openssl/rsa.h>
namespace anonymous_tokens {
namespace {
TEST(RsaSsaPssVerifier, SuccessfulVerification) { … }
TEST(RsaSsaPssVerifier, InvalidSignature) { … }
TEST(RsaSsaPssVerifier, InvalidVerificationKey) { … }
TEST(RsaSsaPssVerifierTestWithPublicMetadata,
EmptyMessageStandardVerificationSuccess) { … }
TEST(RsaSsaPssVerifierTestWithPublicMetadata,
IetfRsaBlindSignaturesWithPublicMetadataTestVectorsSuccess) { … }
TEST(RsaSsaPssVerifierTestWithPublicMetadata,
IetfRsaBlindSignaturesWithPublicMetadataNoPublicExponentSuccess) { … }
RsaSsaPssVerifierPublicMetadataTestParams;
class RsaSsaPssVerifierTestWithPublicMetadata
: public ::testing::TestWithParam<
RsaSsaPssVerifierPublicMetadataTestParams> { … };
TEST_P(RsaSsaPssVerifierTestWithPublicMetadata,
VerifierWorksWithPublicMetadata) { … }
TEST_P(RsaSsaPssVerifierTestWithPublicMetadata,
VerifierFailsToVerifyWithWrongPublicMetadata) { … }
TEST_P(RsaSsaPssVerifierTestWithPublicMetadata,
VerifierFailsToVerifyWithEmptyPublicMetadata) { … }
TEST_P(RsaSsaPssVerifierTestWithPublicMetadata,
VerifierFailsToVerifyWithoutPublicMetadataSupport) { … }
TEST_P(RsaSsaPssVerifierTestWithPublicMetadata,
EmptyMessageEmptyPublicMetadataVerificationSuccess) { … }
INSTANTIATE_TEST_SUITE_P(…);
}
}