diff options
author | tholenst <tholenst@google.com> | 2019-07-24 09:44:37 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2019-07-24 09:45:12 -0700 |
commit | 2f25bf487380e332f28bce1854302bc473cbc06c (patch) | |
tree | 1f6638ac34ef7509888d9ff8355bb22f6bc7dfa1 /cc/mac/mac_config_test.cc | |
parent | fa978a66627478d4254475af9bcd57235765e9d9 (diff) | |
download | tink-2f25bf487380e332f28bce1854302bc473cbc06c.tar.gz |
Add AES CMAC to the config.
PiperOrigin-RevId: 259758821
Diffstat (limited to 'cc/mac/mac_config_test.cc')
-rw-r--r-- | cc/mac/mac_config_test.cc | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/cc/mac/mac_config_test.cc b/cc/mac/mac_config_test.cc index be76b49d6..17e59aa4e 100644 --- a/cc/mac/mac_config_test.cc +++ b/cc/mac/mac_config_test.cc @@ -53,27 +53,43 @@ class MacConfigTest : public ::testing::Test { }; TEST_F(MacConfigTest, testBasic) { - std::string key_type = "type.googleapis.com/google.crypto.tink.HmacKey"; + std::string hmac_key_type = "type.googleapis.com/google.crypto.tink.HmacKey"; + std::string aes_cmac_key_type = + "type.googleapis.com/google.crypto.tink.AesCmacKey"; auto& config = MacConfig::Latest(); - EXPECT_EQ(1, MacConfig::Latest().entry_size()); + EXPECT_EQ(2, MacConfig::Latest().entry_size()); EXPECT_EQ("TinkMac", config.entry(0).catalogue_name()); EXPECT_EQ("Mac", config.entry(0).primitive_name()); - EXPECT_EQ(key_type, config.entry(0).type_url()); + EXPECT_EQ(hmac_key_type, config.entry(0).type_url()); EXPECT_EQ(true, config.entry(0).new_key_allowed()); EXPECT_EQ(0, config.entry(0).key_manager_version()); + EXPECT_EQ("TinkMac", config.entry(1).catalogue_name()); + EXPECT_EQ("Mac", config.entry(1).primitive_name()); + EXPECT_EQ(aes_cmac_key_type, config.entry(1).type_url()); + EXPECT_EQ(true, config.entry(1).new_key_allowed()); + EXPECT_EQ(0, config.entry(1).key_manager_version()); + // No key manager before registration. - auto manager_result = Registry::get_key_manager<Mac>(key_type); + auto manager_result = Registry::get_key_manager<Mac>(hmac_key_type); + EXPECT_FALSE(manager_result.ok()); + EXPECT_EQ(util::error::NOT_FOUND, manager_result.status().error_code()); + + // No key manager before registration. + manager_result = Registry::get_key_manager<Mac>(aes_cmac_key_type); EXPECT_FALSE(manager_result.ok()); EXPECT_EQ(util::error::NOT_FOUND, manager_result.status().error_code()); // Registration of standard key types works. auto status = MacConfig::Register(); EXPECT_TRUE(status.ok()) << status; - manager_result = Registry::get_key_manager<Mac>(key_type); + manager_result = Registry::get_key_manager<Mac>(hmac_key_type); + EXPECT_TRUE(manager_result.ok()) << manager_result.status(); + EXPECT_TRUE(manager_result.ValueOrDie()->DoesSupport(hmac_key_type)); + manager_result = Registry::get_key_manager<Mac>(aes_cmac_key_type); EXPECT_TRUE(manager_result.ok()) << manager_result.status(); - EXPECT_TRUE(manager_result.ValueOrDie()->DoesSupport(key_type)); + EXPECT_TRUE(manager_result.ValueOrDie()->DoesSupport(aes_cmac_key_type)); } TEST_F(MacConfigTest, testRegister) { |