Chromium Code Reviews| Index: chrome/browser/chromeos/cros/network_library.cc |
| diff --git a/chrome/browser/chromeos/cros/network_library.cc b/chrome/browser/chromeos/cros/network_library.cc |
| index 5076cdc41023b3c855b3c86f9d51ff9e3db499fc..e8b70e92604fae404309587ae3aee38bc6ada750 100644 |
| --- a/chrome/browser/chromeos/cros/network_library.cc |
| +++ b/chrome/browser/chromeos/cros/network_library.cc |
| @@ -16,10 +16,12 @@ |
| #include "chrome/browser/chromeos/cros/network_library_impl_cros.h" |
| #include "chrome/browser/chromeos/cros/network_library_impl_stub.h" |
| #include "chrome/common/net/x509_certificate_model.h" |
| +#include "chromeos/network/cert_loader.h" |
| #include "chromeos/network/certificate_pattern.h" |
| #include "chromeos/network/certificate_pattern_matcher.h" |
| #include "chromeos/network/cros_network_functions.h" |
| #include "chromeos/network/network_state_handler.h" |
| +#include "chromeos/network/onc/onc_utils.h" |
| #include "content/public/browser/browser_thread.h" |
| #include "grit/ash_strings.h" |
| #include "grit/generated_resources.h" |
| @@ -591,7 +593,7 @@ VirtualNetwork::VirtualNetwork(const std::string& service_path) |
| VirtualNetwork::~VirtualNetwork() {} |
| void VirtualNetwork::EraseCredentials() { |
| - WipeString(&ca_cert_nss_); |
| + WipeString(&ca_cert_fingerprint_); |
| WipeString(&psk_passphrase_); |
| WipeString(&client_cert_id_); |
| WipeString(&user_passphrase_); |
| @@ -619,8 +621,8 @@ void VirtualNetwork::CopyCredentialsFromRemembered(Network* remembered) { |
| VirtualNetwork* remembered_vpn = static_cast<VirtualNetwork*>(remembered); |
| VLOG(1) << "Copy VPN credentials: " << name() |
| << " username: " << remembered_vpn->username(); |
| - if (ca_cert_nss_.empty()) |
| - ca_cert_nss_ = remembered_vpn->ca_cert_nss(); |
| + if (ca_cert_fingerprint_.empty()) |
| + ca_cert_fingerprint_ = remembered_vpn->ca_cert_fingerprint(); |
| if (psk_passphrase_.empty()) |
| psk_passphrase_ = remembered_vpn->psk_passphrase(); |
| if (client_cert_id_.empty()) |
| @@ -711,14 +713,25 @@ bool VirtualNetwork::IsUserPassphraseRequired() const { |
| return user_passphrase_required_ && user_passphrase_.empty(); |
| } |
| -void VirtualNetwork::SetCACertNSS(const std::string& ca_cert_nss) { |
| - if (provider_type_ == PROVIDER_TYPE_OPEN_VPN) { |
| - SetStringProperty( |
| - flimflam::kOpenVPNCaCertNSSProperty, ca_cert_nss, &ca_cert_nss_); |
| - } else { |
| - SetStringProperty( |
| - flimflam::kL2tpIpsecCaCertNssProperty, ca_cert_nss, &ca_cert_nss_); |
| - } |
| +void VirtualNetwork::SetCACertFingerprint( |
| + const std::string& ca_cert_fingerprint) { |
| + VLOG(1) << "SetCACertFingerprint " << ca_cert_fingerprint; |
| + std::string pem_encoded_cert = onc::GetPEMEncodedCertFromFingerprint( |
| + NetworkHandler::Get()->cert_loader()->cert_list(), ca_cert_fingerprint); |
| + if (pem_encoded_cert.empty()) |
|
stevenjb
2013/06/27 16:50:04
warning or error?
pneubeck (no reviews)
2013/06/28 17:40:06
Done.
|
| + return; |
| + |
| + ca_cert_fingerprint_ = ca_cert_fingerprint; |
| + |
| + base::ListValue pem_list; |
| + pem_list.AppendString(pem_encoded_cert); |
| + |
| + const char* shill_property; |
| + if (provider_type_ == PROVIDER_TYPE_OPEN_VPN) |
| + shill_property = shill::kOpenVPNCaCertPemProperty; |
| + else |
| + shill_property = shill::kL2tpIpsecCaCertPemProperty; |
| + SetValueProperty(shill_property, pem_list); |
| } |
| void VirtualNetwork::SetL2TPIPsecPSKCredentials( |
| @@ -1109,6 +1122,7 @@ void WifiNetwork::SetPassphrase(const std::string& passphrase) { |
| void WifiNetwork::EraseCredentials() { |
| WipeString(&passphrase_); |
| WipeString(&user_passphrase_); |
| + WipeString(&eap_server_ca_cert_fingerprint_); |
| WipeString(&eap_client_cert_pkcs11_id_); |
| WipeString(&eap_identity_); |
| WipeString(&eap_anonymous_identity_); |
| @@ -1182,11 +1196,16 @@ void WifiNetwork::SetEAPPhase2Auth(EAPPhase2Auth auth) { |
| } |
| } |
| -void WifiNetwork::SetEAPServerCaCertNssNickname( |
| - const std::string& nss_nickname) { |
| - VLOG(1) << "SetEAPServerCaCertNssNickname " << nss_nickname; |
| - SetOrClearStringProperty(flimflam::kEapCaCertNssProperty, |
| - nss_nickname, &eap_server_ca_cert_nss_nickname_); |
| +void WifiNetwork::SetEAPServerCaCertFingerprint( |
| + const std::string& ca_cert_fingerprint) { |
| + VLOG(1) << "SetEAPServerCaCertFingerprint " << ca_cert_fingerprint; |
| + std::string pem_encoded_cert = onc::GetPEMEncodedCertFromFingerprint( |
| + NetworkHandler::Get()->cert_loader()->cert_list(), ca_cert_fingerprint); |
| + if (pem_encoded_cert.empty()) |
|
stevenjb
2013/06/27 16:50:04
warning or error?
pneubeck (no reviews)
2013/06/28 17:40:06
Done.
|
| + return; |
| + |
| + eap_server_ca_cert_fingerprint_ = ca_cert_fingerprint; |
| + SetStringProperty(shill::kEapCaCertPemProperty, pem_encoded_cert, NULL); |
| } |
| void WifiNetwork::SetEAPClientCertPkcs11Id(const std::string& pkcs11_id) { |