|
|
@@ -347,6 +347,20 @@ TEST(ECTest, SetKeyWithoutGroup) { |
|
|
|
EC_KEY_set_public_key(key.get(), EC_GROUP_get0_generator(group.get()))); |
|
|
|
} |
|
|
|
|
|
|
|
TEST(ECTest, SetNULLKey) { |
|
|
|
bssl::UniquePtr<EC_KEY> key(EC_KEY_new_by_curve_name(NID_X9_62_prime256v1)); |
|
|
|
ASSERT_TRUE(key); |
|
|
|
|
|
|
|
EXPECT_TRUE(EC_KEY_set_public_key( |
|
|
|
key.get(), EC_GROUP_get0_generator(EC_KEY_get0_group(key.get())))); |
|
|
|
EXPECT_TRUE(EC_KEY_get0_public_key(key.get())); |
|
|
|
|
|
|
|
// Setting a NULL public-key should clear the public-key and return zero, in |
|
|
|
// order to match OpenSSL behaviour exactly. |
|
|
|
EXPECT_FALSE(EC_KEY_set_public_key(key.get(), nullptr)); |
|
|
|
EXPECT_FALSE(EC_KEY_get0_public_key(key.get())); |
|
|
|
} |
|
|
|
|
|
|
|
TEST(ECTest, GroupMismatch) { |
|
|
|
bssl::UniquePtr<EC_KEY> key(EC_KEY_new_by_curve_name(NID_secp384r1)); |
|
|
|
ASSERT_TRUE(key); |
|
|
|