Index: components/cryptauth/device_to_device_operations_unittest.cc |
diff --git a/components/cryptauth/device_to_device_operations_unittest.cc b/components/cryptauth/device_to_device_operations_unittest.cc |
index 05a2f63d0c534798a9259e72411b82a47529d184..a44dc464cb3c4f0b0042497177aafadc63996405 100644 |
--- a/components/cryptauth/device_to_device_operations_unittest.cc |
+++ b/components/cryptauth/device_to_device_operations_unittest.cc |
@@ -5,9 +5,11 @@ |
#include "base/base64url.h" |
#include "base/bind.h" |
#include "base/macros.h" |
+#include "base/memory/ptr_util.h" |
#include "components/cryptauth/device_to_device_initiator_operations.h" |
#include "components/cryptauth/device_to_device_responder_operations.h" |
#include "components/cryptauth/fake_secure_message_delegate.h" |
+#include "components/cryptauth/session_keys.h" |
#include "testing/gtest/include/gtest/gtest.h" |
namespace cryptauth { |
@@ -52,6 +54,14 @@ void SaveValidationResultWithKey(bool* out_success, |
*out_key = key; |
} |
+void SaveValidationResultWithSessionKeys(bool* out_success, |
+ std::unique_ptr<SessionKeys>* out_keys, |
+ bool success, |
+ std::unique_ptr<SessionKeys> keys) { |
+ *out_success = success; |
+ *out_keys = std::move(keys); |
+} |
+ |
} // namespace |
class ProximityAuthDeviceToDeviceOperationsTest : public testing::Test { |
@@ -80,6 +90,7 @@ class ProximityAuthDeviceToDeviceOperationsTest : public testing::Test { |
secure_message_delegate_.DeriveKey( |
local_session_private_key_, remote_session_public_key_, |
base::Bind(&SaveMessageResult, &session_symmetric_key_)); |
+ session_keys_ = base::MakeUnique<SessionKeys>(session_symmetric_key_); |
persistent_symmetric_key_ = "persistent symmetric key"; |
} |
@@ -116,7 +127,7 @@ class ProximityAuthDeviceToDeviceOperationsTest : public testing::Test { |
const std::string& remote_auth_message) { |
std::string local_auth_message; |
DeviceToDeviceInitiatorOperations::CreateInitiatorAuthMessage( |
- session_symmetric_key_, persistent_symmetric_key_, remote_auth_message, |
+ session_keys_.get(), persistent_symmetric_key_, remote_auth_message, |
&secure_message_delegate_, |
base::Bind(&SaveMessageResult, &local_auth_message)); |
EXPECT_FALSE(local_auth_message.empty()); |
@@ -131,6 +142,7 @@ class ProximityAuthDeviceToDeviceOperationsTest : public testing::Test { |
std::string remote_session_public_key_; |
std::string remote_session_private_key_; |
std::string session_symmetric_key_; |
+ std::unique_ptr<SessionKeys> session_keys_; |
DISALLOW_COPY_AND_ASSIGN(ProximityAuthDeviceToDeviceOperationsTest); |
}; |
@@ -169,16 +181,19 @@ TEST_F(ProximityAuthDeviceToDeviceOperationsTest, |
std::string remote_auth_message = CreateResponderAuthMessage(hello_message); |
bool validation_success = false; |
- std::string session_symmetric_key; |
+ std::unique_ptr<SessionKeys> session_keys; |
DeviceToDeviceInitiatorOperations::ValidateResponderAuthMessage( |
remote_auth_message, kResponderPersistentPublicKey, |
persistent_symmetric_key_, local_session_private_key_, hello_message, |
&secure_message_delegate_, |
- base::Bind(&SaveValidationResultWithKey, &validation_success, |
- &session_symmetric_key)); |
+ base::Bind(&SaveValidationResultWithSessionKeys, &validation_success, |
+ &session_keys)); |
EXPECT_TRUE(validation_success); |
- EXPECT_EQ(session_symmetric_key_, session_symmetric_key); |
+ EXPECT_EQ(session_keys_->initiator_encode_key(), |
+ session_keys->initiator_encode_key()); |
+ EXPECT_EQ(session_keys_->responder_encode_key(), |
+ session_keys->responder_encode_key()); |
} |
TEST_F(ProximityAuthDeviceToDeviceOperationsTest, |
@@ -187,16 +202,16 @@ TEST_F(ProximityAuthDeviceToDeviceOperationsTest, |
std::string remote_auth_message = CreateResponderAuthMessage(hello_message); |
bool validation_success = true; |
- std::string session_symmetric_key = "non empty"; |
+ auto session_keys = base::MakeUnique<SessionKeys>("non empty"); |
DeviceToDeviceInitiatorOperations::ValidateResponderAuthMessage( |
remote_auth_message, kResponderPersistentPublicKey, |
persistent_symmetric_key_, local_session_private_key_, |
"invalid hello message", &secure_message_delegate_, |
- base::Bind(&SaveValidationResultWithKey, &validation_success, |
- &session_symmetric_key)); |
+ base::Bind(&SaveValidationResultWithSessionKeys, &validation_success, |
+ &session_keys)); |
EXPECT_FALSE(validation_success); |
- EXPECT_TRUE(session_symmetric_key.empty()); |
+ EXPECT_TRUE(session_keys.get() == nullptr); |
} |
TEST_F(ProximityAuthDeviceToDeviceOperationsTest, |
@@ -205,16 +220,16 @@ TEST_F(ProximityAuthDeviceToDeviceOperationsTest, |
std::string remote_auth_message = CreateResponderAuthMessage(hello_message); |
bool validation_success = true; |
- std::string session_symmetric_key = "non empty"; |
+ auto session_keys = base::MakeUnique<SessionKeys>("non empty"); |
DeviceToDeviceInitiatorOperations::ValidateResponderAuthMessage( |
remote_auth_message, kResponderPersistentPublicKey, |
"invalid persistent symmetric key", local_session_private_key_, |
hello_message, &secure_message_delegate_, |
- base::Bind(&SaveValidationResultWithKey, &validation_success, |
- &session_symmetric_key)); |
+ base::Bind(&SaveValidationResultWithSessionKeys, &validation_success, |
+ &session_keys)); |
EXPECT_FALSE(validation_success); |
- EXPECT_TRUE(session_symmetric_key.empty()); |
+ EXPECT_TRUE(session_keys.get() == nullptr); |
} |
TEST_F(ProximityAuthDeviceToDeviceOperationsTest, |
@@ -226,7 +241,7 @@ TEST_F(ProximityAuthDeviceToDeviceOperationsTest, |
bool validation_success = false; |
DeviceToDeviceResponderOperations::ValidateInitiatorAuthMessage( |
- local_auth_message, session_symmetric_key_, persistent_symmetric_key_, |
+ local_auth_message, session_keys_.get(), persistent_symmetric_key_, |
remote_auth_message, &secure_message_delegate_, |
base::Bind(&SaveValidationResult, &validation_success)); |
@@ -242,7 +257,7 @@ TEST_F(ProximityAuthDeviceToDeviceOperationsTest, |
bool validation_success = true; |
DeviceToDeviceResponderOperations::ValidateInitiatorAuthMessage( |
- local_auth_message, session_symmetric_key_, persistent_symmetric_key_, |
+ local_auth_message, session_keys_.get(), persistent_symmetric_key_, |
"invalid remote auth", &secure_message_delegate_, |
base::Bind(&SaveValidationResult, &validation_success)); |
@@ -258,7 +273,7 @@ TEST_F(ProximityAuthDeviceToDeviceOperationsTest, |
bool validation_success = true; |
DeviceToDeviceResponderOperations::ValidateInitiatorAuthMessage( |
- local_auth_message, session_symmetric_key_, |
+ local_auth_message, session_keys_.get(), |
"invalid persistent symmetric key", remote_auth_message, |
&secure_message_delegate_, |
base::Bind(&SaveValidationResult, &validation_success)); |