shill: wifi: Enable use of hardware-backed certificate credentials
Enable use of hardware-backed certificates and keys by enabling
the pkcs11 module for wpa_supplicant. Bonus change: Enable use
of system CAs by default, although it is expected that Chrome
sets this explicitly in all interesting cases.
BUG=chromium-os:29462
TEST=New unit tests. Manual: Connect to EAP-TLS network using hardware
backed certs.
Change-Id: I9909f25be1007a56f2b9830a03f26cb6b7931968
Reviewed-on: https://gerrit.chromium.org/gerrit/20332
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/wpa_supplicant.cc b/wpa_supplicant.cc
index 1265497..4db44ce 100644
--- a/wpa_supplicant.cc
+++ b/wpa_supplicant.cc
@@ -21,8 +21,12 @@
const char kDBusAddr[] = "fi.w1.wpa_supplicant1";
const char kDBusPath[] = "/fi/w1/wpa_supplicant1";
const char kDriverNL80211[] = "nl80211";
+const char kEnginePKCS11[] = "pkcs11";
const char kErrorInterfaceExists[] = "fi.w1.wpa_supplicant1.InterfaceExists";
+const char kInterfacePropertyConfigFile[] = "ConfigFile";
const char kInterfacePropertyCurrentBSS[] = "CurrentBSS";
+const char kInterfacePropertyDriver[] = "Driver";
+const char kInterfacePropertyName[] = "Ifname";
const char kInterfacePropertyState[] = "State";
const char kInterfaceState4WayHandshake[] = "4way_handshake";
const char kInterfaceStateAssociated[] = "associated";
@@ -57,6 +61,8 @@
const char kNetworkPropertyEapKeyId[] = "key_id";
const char kNetworkPropertyEapCaCertId[] = "ca_cert_id";
const char kNetworkPropertyEapPin[] = "pin";
+const char kNetworkPropertyEngine[] = "engine";
+const char kNetworkPropertyEngineId[] = "engine_id";
const char kNetworkPropertyMode[] = "mode";
const char kNetworkPropertyScanSSID[] = "scan_ssid";
const char kNetworkPropertySSID[] = "ssid";
@@ -76,6 +82,7 @@
const char kSecurityModeRSN[] = "RSN";
const char kSecurityModeWPA[] = "WPA";
+const uint32_t kDefaultEngine = 1;
const uint32_t kNetworkModeInfrastructureInt = 0;
const uint32_t kNetworkModeAdHocInt = 1;
const uint32_t kNetworkModeAccessPointInt = 2;