Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(280)

Unified Diff: chrome/browser/extensions/api/networking_private/networking_private_service_client.cc

Issue 442073003: Separate CryptoVerifyImpl into its own file. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/networking_private/networking_private_service_client.cc
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_service_client.cc b/chrome/browser/extensions/api/networking_private/networking_private_service_client.cc
index f93a835863ef5fb7a9af12d7f31439a82a8897f6..b3b0cee9b47d91cf5eaba7337342c38fd6a69758 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_service_client.cc
+++ b/chrome/browser/extensions/api/networking_private/networking_private_service_client.cc
@@ -12,11 +12,8 @@
#include "base/threading/worker_pool.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/api/networking_private/networking_private_api.h"
-#include "chrome/browser/extensions/api/networking_private/networking_private_credentials_getter.h"
#include "chrome/common/extensions/api/networking_private.h"
-#include "chrome/common/extensions/api/networking_private/networking_private_crypto.h"
#include "content/public/browser/browser_thread.h"
-#include "content/public/browser/utility_process_host.h"
using content::BrowserThread;
@@ -49,66 +46,6 @@ bool GetVerificationCredentials(
return true;
}
-// Implementation of Verify* methods using NetworkingPrivateCrypto.
-// TODO(mef): Move this into NetworkingPrivateCrypto class.
-class CryptoVerifyImpl : public NetworkingPrivateServiceClient::CryptoVerify {
- bool VerifyCredentials(const Credentials& credentials) {
- NetworkingPrivateCrypto crypto;
- return crypto.VerifyCredentials(credentials.certificate,
- credentials.signed_data,
- credentials.unsigned_data,
- credentials.device_bssid);
- }
-
- // NetworkingPrivateServiceClient::CryptoVerify
-
- virtual void VerifyDestination(const Credentials& credentials,
- bool* verified,
- std::string* error) OVERRIDE {
- *verified = VerifyCredentials(credentials);
- }
-
- virtual void VerifyAndEncryptCredentials(
- const std::string& network_guid,
- const Credentials& credentials,
- const VerifyAndEncryptCredentialsCallback& callback) OVERRIDE {
- if (!VerifyCredentials(credentials)) {
- callback.Run("", "VerifyError");
- return;
- }
-
- scoped_ptr<NetworkingPrivateCredentialsGetter> credentials_getter(
- NetworkingPrivateCredentialsGetter::Create());
-
- // Start getting credentials. On Windows |callback| will be called
- // asynchronously on a different thread after |credentials_getter|
- // is deleted.
- credentials_getter->Start(network_guid, credentials.public_key, callback);
- }
-
- virtual void VerifyAndEncryptData(const Credentials& credentials,
- const std::string& data,
- std::string* base64_encoded_ciphertext,
- std::string* error) OVERRIDE {
- if (!VerifyCredentials(credentials)) {
- *error = "VerifyError";
- return;
- }
-
- NetworkingPrivateCrypto crypto;
- std::vector<uint8> public_key_data(
- credentials.public_key.begin(), credentials.public_key.end());
- std::vector<uint8> ciphertext;
- if (!crypto.EncryptByteString(public_key_data, data, &ciphertext)) {
- *error = "EncryptError";
- return;
- }
-
- base::Base64Encode(std::string(ciphertext.begin(), ciphertext.end()),
- base64_encoded_ciphertext);
- }
-};
-
// Deletes WiFiService and CryptoVerify objects on worker thread.
void ShutdownServicesOnWorkerThread(
scoped_ptr<wifi::WiFiService> wifi_service,
@@ -131,6 +68,9 @@ void AfterVerifyAndEncryptCredentialsRelay(
} // namespace
+NetworkingPrivateServiceClient::CryptoVerify::CryptoVerify() {}
+NetworkingPrivateServiceClient::CryptoVerify::~CryptoVerify() {}
+
NetworkingPrivateServiceClient::CryptoVerify::Credentials::Credentials() {}
NetworkingPrivateServiceClient::CryptoVerify::Credentials::~Credentials() {}
@@ -175,11 +115,6 @@ NetworkingPrivateServiceClient::~NetworkingPrivateServiceClient() {
DCHECK(!crypto_verify_.get());
}
-NetworkingPrivateServiceClient::CryptoVerify*
- NetworkingPrivateServiceClient::CryptoVerify::Create() {
- return new CryptoVerifyImpl();
-}
-
NetworkingPrivateServiceClient::ServiceCallbacks::ServiceCallbacks() {}
NetworkingPrivateServiceClient::ServiceCallbacks::~ServiceCallbacks() {}
@@ -433,6 +368,11 @@ void NetworkingPrivateServiceClient::VerifyDestination(
const VerificationProperties& verification_properties,
const BoolCallback& success_callback,
const FailureCallback& failure_callback) {
+ if (!crypto_verify_) {
+ failure_callback.Run(networking_private::kErrorNotSupported);
+ return;
+ }
+
ServiceCallbacks* service_callbacks = AddServiceCallbacks();
service_callbacks->failure_callback = failure_callback;
service_callbacks->verify_destination_callback = success_callback;
@@ -465,6 +405,11 @@ void NetworkingPrivateServiceClient::VerifyAndEncryptCredentials(
const VerificationProperties& verification_properties,
const StringCallback& success_callback,
const FailureCallback& failure_callback) {
+ if (!crypto_verify_) {
+ failure_callback.Run(networking_private::kErrorNotSupported);
+ return;
+ }
+
ServiceCallbacks* service_callbacks = AddServiceCallbacks();
service_callbacks->failure_callback = failure_callback;
service_callbacks->verify_and_encrypt_credentials_callback = success_callback;
@@ -496,6 +441,11 @@ void NetworkingPrivateServiceClient::VerifyAndEncryptData(
const std::string& data,
const StringCallback& success_callback,
const FailureCallback& failure_callback) {
+ if (!crypto_verify_) {
+ failure_callback.Run(networking_private::kErrorNotSupported);
+ return;
+ }
+
ServiceCallbacks* service_callbacks = AddServiceCallbacks();
service_callbacks->failure_callback = failure_callback;
service_callbacks->verify_and_encrypt_data_callback = success_callback;

Powered by Google App Engine
This is Rietveld 408576698