diff options
author | wconner <wconner@google.com> | 2022-07-14 06:07:58 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2022-07-14 06:08:59 -0700 |
commit | 079e65f0d0a545a9d7196e5fdebd5f25b0eb3421 (patch) | |
tree | fe90eb596e85db01e4d47ce02a51066c652b20b3 /cc/mac/hmac_key_manager.h | |
parent | c3dd0336228a7bcb27a758c903058ffe44f28528 (diff) | |
download | tink-079e65f0d0a545a9d7196e5fdebd5f25b0eb3421.tar.gz |
Add ChunkedMac primitive to existing MAC key managers.
Also, fixed header in chunked_mac_impl.cc.
PiperOrigin-RevId: 460940641
Diffstat (limited to 'cc/mac/hmac_key_manager.h')
-rw-r--r-- | cc/mac/hmac_key_manager.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/cc/mac/hmac_key_manager.h b/cc/mac/hmac_key_manager.h index 7f63890b9..ab4be1562 100644 --- a/cc/mac/hmac_key_manager.h +++ b/cc/mac/hmac_key_manager.h @@ -20,6 +20,8 @@ #include "absl/memory/memory.h" #include "absl/strings/str_cat.h" +#include "tink/chunked_mac.h" +#include "tink/chunkedmac/internal/chunked_mac_impl.h" #include "tink/core/key_type_manager.h" #include "tink/mac.h" #include "tink/subtle/hmac_boringssl.h" @@ -38,7 +40,8 @@ namespace tink { class HmacKeyManager : public KeyTypeManager<google::crypto::tink::HmacKey, - google::crypto::tink::HmacKeyFormat, List<Mac>> { + google::crypto::tink::HmacKeyFormat, + List<Mac, ChunkedMac>> { public: class MacFactory : public PrimitiveFactory<Mac> { crypto::tink::util::StatusOr<std::unique_ptr<Mac>> Create( @@ -50,7 +53,16 @@ class HmacKeyManager } }; - HmacKeyManager() : KeyTypeManager(absl::make_unique<MacFactory>()) {} + class ChunkedMacFactory : public PrimitiveFactory<ChunkedMac> { + crypto::tink::util::StatusOr<std::unique_ptr<ChunkedMac>> Create( + const google::crypto::tink::HmacKey& hmac_key) const override { + return internal::NewChunkedHmac(hmac_key); + } + }; + + HmacKeyManager() + : KeyTypeManager(absl::make_unique<MacFactory>(), + absl::make_unique<ChunkedMacFactory>()) {} uint32_t get_version() const override { return 0; } |