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

Side by Side Diff: chrome/browser/chromeos/options/wifi_config_view.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, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/options/wifi_config_view.h" 5 #include "chrome/browser/chromeos/options/wifi_config_view.h"
6 6
7 #include "base/strings/string_util.h" 7 #include "base/strings/string_util.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/browser/chromeos/cros/cros_library.h" 10 #include "chrome/browser/chromeos/cros/cros_library.h"
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 security, 674 security,
675 GetPassphrase(), 675 GetPassphrase(),
676 NULL, 676 NULL,
677 GetSaveCredentials(), 677 GetSaveCredentials(),
678 GetShareNetwork(share_default)); 678 GetShareNetwork(share_default));
679 } else { 679 } else {
680 // Hidden 802.1X EAP Wi-Fi connection. 680 // Hidden 802.1X EAP Wi-Fi connection.
681 chromeos::NetworkLibrary::EAPConfigData config_data; 681 chromeos::NetworkLibrary::EAPConfigData config_data;
682 config_data.method = GetEapMethod(); 682 config_data.method = GetEapMethod();
683 config_data.auth = GetEapPhase2Auth(); 683 config_data.auth = GetEapPhase2Auth();
684 config_data.server_ca_cert_nss_nickname = GetEapServerCaCertNssNickname(); 684 config_data.server_ca_cert_pem = GetEapServerCaCertPEM();
685 config_data.use_system_cas = GetEapUseSystemCas(); 685 config_data.use_system_cas = GetEapUseSystemCas();
686 config_data.client_cert_pkcs11_id = GetEapClientCertPkcs11Id(); 686 config_data.client_cert_pkcs11_id = GetEapClientCertPkcs11Id();
687 config_data.identity = GetEapIdentity(); 687 config_data.identity = GetEapIdentity();
688 config_data.anonymous_identity = GetEapAnonymousIdentity(); 688 config_data.anonymous_identity = GetEapAnonymousIdentity();
689 cros->ConnectToUnconfiguredWifiNetwork( 689 cros->ConnectToUnconfiguredWifiNetwork(
690 GetSsid(), 690 GetSsid(),
691 SECURITY_8021X, 691 SECURITY_8021X,
692 GetPassphrase(), 692 GetPassphrase(),
693 &config_data, 693 &config_data,
694 GetSaveCredentials(), 694 GetSaveCredentials(),
695 GetShareNetwork(share_default)); 695 GetShareNetwork(share_default));
696 } 696 }
697 } else { 697 } else {
698 WifiNetwork* wifi = cros->FindWifiNetworkByPath(service_path_); 698 WifiNetwork* wifi = cros->FindWifiNetworkByPath(service_path_);
699 if (!wifi) { 699 if (!wifi) {
700 // Shill no longer knows about this wifi network (edge case). 700 // Shill no longer knows about this wifi network (edge case).
701 // TODO(stevenjb): Add a notification (chromium-os13225). 701 // TODO(stevenjb): Add a notification (chromium-os13225).
702 LOG(WARNING) << "Wifi network: " << service_path_ << " no longer exists."; 702 LOG(WARNING) << "Wifi network: " << service_path_ << " no longer exists.";
703 return true; 703 return true;
704 } 704 }
705 if (eap_method_combobox_) { 705 if (eap_method_combobox_) {
706 // Visible 802.1X EAP Wi-Fi connection. 706 // Visible 802.1X EAP Wi-Fi connection.
707 EAPMethod method = GetEapMethod(); 707 EAPMethod method = GetEapMethod();
708 DCHECK(method != EAP_METHOD_UNKNOWN); 708 DCHECK(method != EAP_METHOD_UNKNOWN);
709 wifi->SetEAPMethod(method); 709 wifi->SetEAPMethod(method);
710 wifi->SetEAPPhase2Auth(GetEapPhase2Auth()); 710 wifi->SetEAPPhase2Auth(GetEapPhase2Auth());
711 wifi->SetEAPServerCaCertNssNickname(GetEapServerCaCertNssNickname()); 711 wifi->SetEAPServerCaCertPEM(GetEapServerCaCertPEM());
712 wifi->SetEAPUseSystemCAs(GetEapUseSystemCas()); 712 wifi->SetEAPUseSystemCAs(GetEapUseSystemCas());
713 wifi->SetEAPClientCertPkcs11Id(GetEapClientCertPkcs11Id()); 713 wifi->SetEAPClientCertPkcs11Id(GetEapClientCertPkcs11Id());
714 wifi->SetEAPIdentity(GetEapIdentity()); 714 wifi->SetEAPIdentity(GetEapIdentity());
715 wifi->SetEAPAnonymousIdentity(GetEapAnonymousIdentity()); 715 wifi->SetEAPAnonymousIdentity(GetEapAnonymousIdentity());
716 wifi->SetEAPPassphrase(GetPassphrase()); 716 wifi->SetEAPPassphrase(GetPassphrase());
717 wifi->SetSaveCredentials(GetSaveCredentials()); 717 wifi->SetSaveCredentials(GetSaveCredentials());
718 } else { 718 } else {
719 // Visible ordinary Wi-Fi connection. 719 // Visible ordinary Wi-Fi connection.
720 const std::string passphrase = GetPassphrase(); 720 const std::string passphrase = GetPassphrase();
721 if (passphrase != wifi->passphrase()) 721 if (passphrase != wifi->passphrase())
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 return EAP_PHASE_2_AUTH_MSCHAP; 792 return EAP_PHASE_2_AUTH_MSCHAP;
793 case PHASE_2_AUTH_INDEX_PAP: 793 case PHASE_2_AUTH_INDEX_PAP:
794 return EAP_PHASE_2_AUTH_PAP; 794 return EAP_PHASE_2_AUTH_PAP;
795 case PHASE_2_AUTH_INDEX_CHAP: 795 case PHASE_2_AUTH_INDEX_CHAP:
796 return EAP_PHASE_2_AUTH_CHAP; 796 return EAP_PHASE_2_AUTH_CHAP;
797 default: 797 default:
798 return EAP_PHASE_2_AUTH_AUTO; 798 return EAP_PHASE_2_AUTH_AUTO;
799 } 799 }
800 } 800 }
801 801
802 std::string WifiConfigView::GetEapServerCaCertNssNickname() const { 802 std::string WifiConfigView::GetEapServerCaCertPEM() const {
803 DCHECK(server_ca_cert_combobox_); 803 DCHECK(server_ca_cert_combobox_);
804 int index = server_ca_cert_combobox_->selected_index(); 804 int index = server_ca_cert_combobox_->selected_index();
805 if (index == 0) { 805 if (index == 0) {
806 // First item is "Default". 806 // First item is "Default".
807 return std::string(); 807 return std::string();
808 } else if (index == server_ca_cert_combobox_->model()->GetItemCount() - 1) { 808 } else if (index == server_ca_cert_combobox_->model()->GetItemCount() - 1) {
809 // Last item is "Do not check". 809 // Last item is "Do not check".
810 return std::string(); 810 return std::string();
811 } else { 811 } else {
812 int cert_index = index - 1; 812 int cert_index = index - 1;
813 return CertLibrary::Get()->GetCertNicknameAt( 813 return CertLibrary::Get()->GetCertPEMAt(
814 CertLibrary::CERT_TYPE_SERVER_CA, cert_index); 814 CertLibrary::CERT_TYPE_SERVER_CA, cert_index);
815 } 815 }
816 } 816 }
817 817
818 bool WifiConfigView::GetEapUseSystemCas() const { 818 bool WifiConfigView::GetEapUseSystemCas() const {
819 DCHECK(server_ca_cert_combobox_); 819 DCHECK(server_ca_cert_combobox_);
820 // Only use system CAs if the first item ("Default") is selected. 820 // Only use system CAs if the first item ("Default") is selected.
821 return server_ca_cert_combobox_->selected_index() == 0; 821 return server_ca_cert_combobox_->selected_index() == 0;
822 } 822 }
823 823
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
1173 } 1173 }
1174 1174
1175 const std::string& eap_anonymous_identity = 1175 const std::string& eap_anonymous_identity =
1176 (wifi ? wifi->eap_anonymous_identity() : std::string()); 1176 (wifi ? wifi->eap_anonymous_identity() : std::string());
1177 identity_anonymous_textfield_->SetText( 1177 identity_anonymous_textfield_->SetText(
1178 UTF8ToUTF16(eap_anonymous_identity)); 1178 UTF8ToUTF16(eap_anonymous_identity));
1179 } 1179 }
1180 1180
1181 // Server CA certificate. 1181 // Server CA certificate.
1182 if (CaCertActive()) { 1182 if (CaCertActive()) {
1183 const std::string& nss_nickname = 1183 const std::string& ca_cert_pem =
1184 (wifi ? wifi->eap_server_ca_cert_nss_nickname() : std::string()); 1184 (wifi ? wifi->eap_server_ca_cert_pem() : std::string());
1185 if (nss_nickname.empty()) { 1185 if (ca_cert_pem.empty()) {
1186 if (wifi->eap_use_system_cas()) { 1186 if (wifi->eap_use_system_cas()) {
1187 // "Default". 1187 // "Default".
1188 server_ca_cert_combobox_->SetSelectedIndex(0); 1188 server_ca_cert_combobox_->SetSelectedIndex(0);
1189 } else { 1189 } else {
1190 // "Do not check". 1190 // "Do not check".
1191 server_ca_cert_combobox_->SetSelectedIndex( 1191 server_ca_cert_combobox_->SetSelectedIndex(
1192 server_ca_cert_combobox_->model()->GetItemCount() - 1); 1192 server_ca_cert_combobox_->model()->GetItemCount() - 1);
1193 } 1193 }
1194 } else { 1194 } else {
1195 // Select the certificate if available. 1195 // Select the certificate if available.
1196 int cert_index = CertLibrary::Get()->GetCertIndexByNickname( 1196 int cert_index = CertLibrary::Get()->GetCertIndexByPEM(
1197 CertLibrary::CERT_TYPE_SERVER_CA, nss_nickname); 1197 CertLibrary::CERT_TYPE_SERVER_CA, ca_cert_pem);
1198 if (cert_index >= 0) { 1198 if (cert_index >= 0) {
1199 // Skip item for "Default". 1199 // Skip item for "Default".
1200 server_ca_cert_combobox_->SetSelectedIndex(1 + cert_index); 1200 server_ca_cert_combobox_->SetSelectedIndex(1 + cert_index);
1201 } 1201 }
1202 } 1202 }
1203 } 1203 }
1204 1204
1205 // User certificate. 1205 // User certificate.
1206 if (UserCertActive()) { 1206 if (UserCertActive()) {
1207 const std::string& pkcs11_id = 1207 const std::string& pkcs11_id =
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1258 void WifiConfigView::ParseWiFiEAPUIProperty( 1258 void WifiConfigView::ParseWiFiEAPUIProperty(
1259 NetworkPropertyUIData* property_ui_data, 1259 NetworkPropertyUIData* property_ui_data,
1260 Network* network, 1260 Network* network,
1261 const std::string& key) { 1261 const std::string& key) {
1262 ParseWiFiUIProperty( 1262 ParseWiFiUIProperty(
1263 property_ui_data, network, 1263 property_ui_data, network,
1264 base::StringPrintf("%s.%s", onc::wifi::kEAP, key.c_str())); 1264 base::StringPrintf("%s.%s", onc::wifi::kEAP, key.c_str()));
1265 } 1265 }
1266 1266
1267 } // namespace chromeos 1267 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698