| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/proximity_auth/device_to_device_authenticator.h" | 5 #include "components/proximity_auth/device_to_device_authenticator.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/base64url.h" | 9 #include "base/base64url.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| 11 #include "base/macros.h" | 11 #include "base/macros.h" |
| 12 #include "base/memory/ptr_util.h" | 12 #include "base/memory/ptr_util.h" |
| 13 #include "base/memory/scoped_vector.h" | 13 #include "base/memory/scoped_vector.h" |
| 14 #include "base/rand_util.h" | 14 #include "base/rand_util.h" |
| 15 #include "base/timer/mock_timer.h" | 15 #include "base/timer/mock_timer.h" |
| 16 #include "components/cryptauth/fake_secure_message_delegate.h" |
| 16 #include "components/proximity_auth/connection.h" | 17 #include "components/proximity_auth/connection.h" |
| 17 #include "components/proximity_auth/cryptauth/fake_secure_message_delegate.h" | |
| 18 #include "components/proximity_auth/device_to_device_responder_operations.h" | 18 #include "components/proximity_auth/device_to_device_responder_operations.h" |
| 19 #include "components/proximity_auth/proximity_auth_test_util.h" | 19 #include "components/proximity_auth/proximity_auth_test_util.h" |
| 20 #include "components/proximity_auth/secure_context.h" | 20 #include "components/proximity_auth/secure_context.h" |
| 21 #include "components/proximity_auth/wire_message.h" | 21 #include "components/proximity_auth/wire_message.h" |
| 22 #include "testing/gmock/include/gmock/gmock.h" | 22 #include "testing/gmock/include/gmock/gmock.h" |
| 23 #include "testing/gtest/include/gtest/gtest.h" | 23 #include "testing/gtest/include/gtest/gtest.h" |
| 24 | 24 |
| 25 namespace proximity_auth { | 25 namespace proximity_auth { |
| 26 | 26 |
| 27 namespace { | 27 namespace { |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 bool connection_blocked_; | 97 bool connection_blocked_; |
| 98 | 98 |
| 99 DISALLOW_COPY_AND_ASSIGN(FakeConnection); | 99 DISALLOW_COPY_AND_ASSIGN(FakeConnection); |
| 100 }; | 100 }; |
| 101 | 101 |
| 102 // Harness for testing DeviceToDeviceAuthenticator. | 102 // Harness for testing DeviceToDeviceAuthenticator. |
| 103 class DeviceToDeviceAuthenticatorForTest : public DeviceToDeviceAuthenticator { | 103 class DeviceToDeviceAuthenticatorForTest : public DeviceToDeviceAuthenticator { |
| 104 public: | 104 public: |
| 105 DeviceToDeviceAuthenticatorForTest( | 105 DeviceToDeviceAuthenticatorForTest( |
| 106 Connection* connection, | 106 Connection* connection, |
| 107 std::unique_ptr<SecureMessageDelegate> secure_message_delegate) | 107 std::unique_ptr<cryptauth::SecureMessageDelegate> secure_message_delegate) |
| 108 : DeviceToDeviceAuthenticator(connection, | 108 : DeviceToDeviceAuthenticator(connection, |
| 109 kAccountId, | 109 kAccountId, |
| 110 std::move(secure_message_delegate)), | 110 std::move(secure_message_delegate)), |
| 111 timer_(nullptr) {} | 111 timer_(nullptr) {} |
| 112 ~DeviceToDeviceAuthenticatorForTest() override {} | 112 ~DeviceToDeviceAuthenticatorForTest() override {} |
| 113 | 113 |
| 114 base::MockTimer* timer() { return timer_; } | 114 base::MockTimer* timer() { return timer_; } |
| 115 | 115 |
| 116 private: | 116 private: |
| 117 // DeviceToDeviceAuthenticator: | 117 // DeviceToDeviceAuthenticator: |
| (...skipping 14 matching lines...) Expand all Loading... |
| 132 DISALLOW_COPY_AND_ASSIGN(DeviceToDeviceAuthenticatorForTest); | 132 DISALLOW_COPY_AND_ASSIGN(DeviceToDeviceAuthenticatorForTest); |
| 133 }; | 133 }; |
| 134 | 134 |
| 135 } // namespace | 135 } // namespace |
| 136 | 136 |
| 137 class ProximityAuthDeviceToDeviceAuthenticatorTest : public testing::Test { | 137 class ProximityAuthDeviceToDeviceAuthenticatorTest : public testing::Test { |
| 138 public: | 138 public: |
| 139 ProximityAuthDeviceToDeviceAuthenticatorTest() | 139 ProximityAuthDeviceToDeviceAuthenticatorTest() |
| 140 : remote_device_(CreateClassicRemoteDeviceForTest()), | 140 : remote_device_(CreateClassicRemoteDeviceForTest()), |
| 141 connection_(remote_device_), | 141 connection_(remote_device_), |
| 142 secure_message_delegate_(new FakeSecureMessageDelegate), | 142 secure_message_delegate_(new cryptauth::FakeSecureMessageDelegate), |
| 143 authenticator_(&connection_, | 143 authenticator_(&connection_, |
| 144 base::WrapUnique(secure_message_delegate_)) {} | 144 base::WrapUnique(secure_message_delegate_)) {} |
| 145 ~ProximityAuthDeviceToDeviceAuthenticatorTest() override {} | 145 ~ProximityAuthDeviceToDeviceAuthenticatorTest() override {} |
| 146 | 146 |
| 147 void SetUp() override { | 147 void SetUp() override { |
| 148 // Set up the session asymmetric keys for both the local and remote devices. | 148 // Set up the session asymmetric keys for both the local and remote devices. |
| 149 ASSERT_TRUE( | 149 ASSERT_TRUE( |
| 150 base::Base64UrlDecode(kInitiatorSessionPublicKeyBase64, | 150 base::Base64UrlDecode(kInitiatorSessionPublicKeyBase64, |
| 151 base::Base64UrlDecodePolicy::REQUIRE_PADDING, | 151 base::Base64UrlDecodePolicy::REQUIRE_PADDING, |
| 152 &local_session_public_key_)); | 152 &local_session_public_key_)); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 222 MOCK_METHOD1(OnAuthenticationResultProxy, void(Authenticator::Result result)); | 222 MOCK_METHOD1(OnAuthenticationResultProxy, void(Authenticator::Result result)); |
| 223 | 223 |
| 224 // Contains information about the remote device. | 224 // Contains information about the remote device. |
| 225 const RemoteDevice remote_device_; | 225 const RemoteDevice remote_device_; |
| 226 | 226 |
| 227 // Simulates the connection to the remote device. | 227 // Simulates the connection to the remote device. |
| 228 FakeConnection connection_; | 228 FakeConnection connection_; |
| 229 | 229 |
| 230 // The SecureMessageDelegate used by the authenticator. | 230 // The SecureMessageDelegate used by the authenticator. |
| 231 // Owned by |authenticator_|. | 231 // Owned by |authenticator_|. |
| 232 FakeSecureMessageDelegate* secure_message_delegate_; | 232 cryptauth::FakeSecureMessageDelegate* secure_message_delegate_; |
| 233 | 233 |
| 234 // The DeviceToDeviceAuthenticator under test. | 234 // The DeviceToDeviceAuthenticator under test. |
| 235 DeviceToDeviceAuthenticatorForTest authenticator_; | 235 DeviceToDeviceAuthenticatorForTest authenticator_; |
| 236 | 236 |
| 237 // The session keys in play during authentication. | 237 // The session keys in play during authentication. |
| 238 std::string local_session_public_key_; | 238 std::string local_session_public_key_; |
| 239 std::string remote_session_public_key_; | 239 std::string remote_session_public_key_; |
| 240 std::string remote_session_private_key_; | 240 std::string remote_session_private_key_; |
| 241 std::string session_symmetric_key_; | 241 std::string session_symmetric_key_; |
| 242 | 242 |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 342 WireMessage wire_message(base::RandBytesAsString(300u)); | 342 WireMessage wire_message(base::RandBytesAsString(300u)); |
| 343 connection_.SendMessage( | 343 connection_.SendMessage( |
| 344 base::MakeUnique<WireMessage>(base::RandBytesAsString(300u))); | 344 base::MakeUnique<WireMessage>(base::RandBytesAsString(300u))); |
| 345 connection_.OnBytesReceived(wire_message.Serialize()); | 345 connection_.OnBytesReceived(wire_message.Serialize()); |
| 346 connection_.SendMessage( | 346 connection_.SendMessage( |
| 347 base::MakeUnique<WireMessage>(base::RandBytesAsString(300u))); | 347 base::MakeUnique<WireMessage>(base::RandBytesAsString(300u))); |
| 348 connection_.OnBytesReceived(wire_message.Serialize()); | 348 connection_.OnBytesReceived(wire_message.Serialize()); |
| 349 } | 349 } |
| 350 | 350 |
| 351 } // namespace proximity_auth | 351 } // namespace proximity_auth |
| OLD | NEW |