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)); |
} |