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

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: Added a unit test for the resolve function. 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 23cbd68583bdf0208462bdd4d0b5f2c50479e766..7b65a8e302dbb0ce51a968b97b4e8d6940af4b4f 100644
--- a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
+++ b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
@@ -1568,23 +1568,32 @@ void NetInternalsMessageHandler::OnImportONCFile(const ListValue* list) {
std::string error;
if (!chromeos::onc::ParseAndValidateOncForImport(
onc_blob, onc_source, passcode, &network_configs, &certificates)) {
- error = "Errors occurred during the ONC parsing.";
+ error = "Errors occurred during the ONC parsing. ";
+ 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;
}
chromeos::NetworkLibrary* network_library =
chromeos::CrosLibrary::Get()->GetNetworkLibrary();
network_library->LoadOncNetworks(network_configs, onc_source);
+
// 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