Update Simulcrypt ECMg
This commit is contained in:
@@ -111,6 +111,10 @@ class ECKeyTestKeyPairs : public ECKeyTest,
|
||||
std::unique_ptr<ECPublicKey> public_key_;
|
||||
};
|
||||
|
||||
// Death test naming convention. See below link for details:
|
||||
// go/gunitadvanced#death-test-naming
|
||||
using ECKeyTestKeyPairsDeathTest = ECKeyTestKeyPairs;
|
||||
|
||||
TEST_P(ECKeyTestKeyPairs, CreateWrongKey) {
|
||||
EXPECT_EQ(ECPrivateKey::Create(test_public_key_), nullptr);
|
||||
EXPECT_EQ(ECPublicKey::Create(test_private_key_), nullptr);
|
||||
@@ -165,6 +169,40 @@ TEST_P(ECKeyTestKeyPairs, SignVerify) {
|
||||
EXPECT_TRUE(public_key_->VerifySignature(plaintext_message_, signature));
|
||||
}
|
||||
|
||||
TEST_P(ECKeyTestKeyPairs, SignVerifySha1) {
|
||||
std::string signature;
|
||||
EXPECT_FALSE(private_key_->GenerateSignature(
|
||||
plaintext_message_, HashAlgorithm::kSha1, &signature));
|
||||
EXPECT_FALSE(public_key_->VerifySignature(plaintext_message_,
|
||||
HashAlgorithm::kSha1, signature));
|
||||
}
|
||||
|
||||
TEST_P(ECKeyTestKeyPairs, SignVerifySha256) {
|
||||
std::string signature;
|
||||
ASSERT_TRUE(private_key_->GenerateSignature(
|
||||
plaintext_message_, HashAlgorithm::kSha256, &signature));
|
||||
ASSERT_TRUE(public_key_->VerifySignature(plaintext_message_,
|
||||
HashAlgorithm::kSha256, signature));
|
||||
}
|
||||
|
||||
TEST_P(ECKeyTestKeyPairs, SignVerifyUnspecified) {
|
||||
std::string signature;
|
||||
ASSERT_TRUE(private_key_->GenerateSignature(
|
||||
plaintext_message_, HashAlgorithm::kUnspecified, &signature));
|
||||
ASSERT_TRUE(public_key_->VerifySignature(
|
||||
plaintext_message_, HashAlgorithm::kUnspecified, signature));
|
||||
}
|
||||
|
||||
TEST_P(ECKeyTestKeyPairsDeathTest, SignVerifyUnexpected) {
|
||||
std::string signature;
|
||||
HashAlgorithm unexpected_hash_algorithm = static_cast<HashAlgorithm>(1234);
|
||||
EXPECT_DEATH(private_key_->GenerateSignature(
|
||||
plaintext_message_, unexpected_hash_algorithm, &signature),
|
||||
"Unexpected hash algorithm: 1234");
|
||||
EXPECT_FALSE(public_key_->VerifySignature(
|
||||
plaintext_message_, unexpected_hash_algorithm, signature));
|
||||
}
|
||||
|
||||
TEST_P(ECKeyTestKeyPairs, InvalidSignVerifyParameters) {
|
||||
std::string signature;
|
||||
EXPECT_FALSE(private_key_->GenerateSignature("", &signature));
|
||||
@@ -220,6 +258,9 @@ TEST_P(ECKeyTestKeyPairs, KeyPointEncodingSuccess) {
|
||||
INSTANTIATE_TEST_SUITE_P(ECKeyTestKeyPairs, ECKeyTestKeyPairs,
|
||||
::testing::ValuesIn(ECKeyTest::GetTestKeyList()));
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(ECKeyTestKeyPairsDeathTest, ECKeyTestKeyPairsDeathTest,
|
||||
::testing::ValuesIn(ECKeyTest::GetTestKeyList()));
|
||||
|
||||
class ECKeyTestCurveMismatch
|
||||
: public ECKeyTest,
|
||||
public ::testing::WithParamInterface<
|
||||
|
||||
Reference in New Issue
Block a user