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

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

Issue 102993002: Implement Networking Private API VerifyAndEncryptCredentials method (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync to r255173 Created 6 years, 10 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.h
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_service_client.h b/chrome/browser/extensions/api/networking_private/networking_private_service_client.h
index 247a92006462e3f08a29535023ca83f0c8d92c7f..c2bf0cd94decf2da313813677d0580ca8f36103f 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_service_client.h
+++ b/chrome/browser/extensions/api/networking_private/networking_private_service_client.h
@@ -46,6 +46,10 @@ class NetworkingPrivateServiceClient
// Interface for Verify* methods implementation.
class CryptoVerify {
public:
+ typedef base::Callback<
+ void(const std::string& key_data, const std::string& error)>
+ VerifyAndEncryptCredentialsCallback;
+
CryptoVerify() {}
virtual ~CryptoVerify() {}
@@ -55,6 +59,10 @@ class NetworkingPrivateServiceClient
bool* verified,
std::string* error) = 0;
+ virtual void VerifyAndEncryptCredentials(
+ scoped_ptr<base::ListValue> args,
+ const VerifyAndEncryptCredentialsCallback& callback) = 0;
+
virtual void VerifyAndEncryptData(scoped_ptr<base::ListValue> args,
std::string* base64_encoded_ciphertext,
std::string* error) = 0;
@@ -180,6 +188,13 @@ class NetworkingPrivateServiceClient
const CryptoErrorCallback& error_callback);
// Verify that Chromecast provides valid cryptographically signed properties.
+ // If valid, then get WiFi credentials from the system and encrypt them using
+ // Chromecast's public key.
+ void VerifyAndEncryptCredentials(scoped_ptr<base::ListValue> args,
+ const StringResultCallback& callback,
+ const CryptoErrorCallback& error_callback);
+
+ // Verify that Chromecast provides valid cryptographically signed properties.
// If valid, then encrypt data using Chromecast's public key.
void VerifyAndEncryptData(scoped_ptr<base::ListValue> args,
const StringResultCallback& callback,
@@ -215,6 +230,7 @@ class NetworkingPrivateServiceClient
BoolResultCallback verify_destination_callback;
StringResultCallback verify_and_encrypt_data_callback;
+ StringResultCallback verify_and_encrypt_credentials_callback;
CryptoErrorCallback crypto_error_callback;
ServiceCallbacksID id;
@@ -245,6 +261,9 @@ class NetworkingPrivateServiceClient
void AfterVerifyAndEncryptData(ServiceCallbacksID callback_id,
const std::string* result,
const std::string* error);
+ void AfterVerifyAndEncryptCredentials(ServiceCallbacksID callback_id,
+ const std::string& encrypted_data,
+ const std::string& error);
void OnNetworksChangedEventOnUIThread(
const WiFiService::NetworkGuidList& network_guid_list);

Powered by Google App Engine
This is Rietveld 408576698