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

Unified Diff: chrome/browser/ui/webui/net_internals/net_internals_ui.cc

Issue 16946002: Resolve certificate references in ONC by PEM. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased, added function comments. Created 7 years, 6 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/ui/webui/net_internals/net_internals_ui.cc
diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
index 96b3f22ecfdcb9c12f9eb36fe0c2c333346f4213..9f1a6dcc843d6bfdf6522286221ebb7f1ee5974a 100644
--- a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
+++ b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
@@ -1576,19 +1576,37 @@ void NetInternalsMessageHandler::OnImportONCFile(const ListValue* list) {
LOG(ERROR) << error;
}
+ chromeos::CertificateHandler::CertsByGUID imported_server_and_ca_certs;
+ chromeos::CertificateHandler certificate_handler;
+ if (!certificate_handler.ImportCertificates(certificates, onc_source, NULL,
+ &imported_server_and_ca_certs)) {
+ error += "Some certificates couldn't be imported.";
+ LOG(ERROR) << error;
+ }
+
+ if (!chromeos::onc::ResolveServerCertRefsInNetworks(
+ imported_server_and_ca_certs, &network_configs)) {
+ error += "Some certificate references could not be resolved.";
+ LOG(ERROR) << error;
+ }
+
+ net::CertificateList imported_server_and_ca_certs_list;
+ for (chromeos::CertificateHandler::CertsByGUID::iterator it =
+ imported_server_and_ca_certs.begin();
+ it != imported_server_and_ca_certs.end(); ++it) {
+ imported_server_and_ca_certs_list.push_back(it->second);
+ }
chromeos::NetworkLibrary* network_library =
chromeos::CrosLibrary::Get()->GetNetworkLibrary();
- network_library->LoadOncNetworks(network_configs, onc_source);
+ network_library->LoadOncNetworks(
+ network_configs,
+ onc_source,
+ base::Bind(&chromeos::onc::GetPEMEncodedCertFromFingerprint,
+ imported_server_and_ca_certs_list));
// Now that we've added the networks, we need to rescan them so they'll be
// available from the menu more immediately.
network_library->RequestNetworkScan();
- chromeos::CertificateHandler certificate_handler;
- if (!certificate_handler.ImportCertificates(certificates, onc_source, NULL)) {
- error += "Some certificates couldn't be imported.";
- LOG(ERROR) << error;
- }
-
SendJavascriptCommand("receivedONCFileParse",
Value::CreateStringValue(error));
}

Powered by Google App Engine
This is Rietveld 408576698