From c136cf95393fb8f646b95cccd038ca9cb3450214 Mon Sep 17 00:00:00 2001 From: Samuel Tan Date: Fri, 29 Jan 2016 15:22:48 -0800 Subject: [PATCH] WifiEnterpriseConfig: allow getting and setting of ca_path Add getters and setters for WPA supplicant's ca_path directive. BUG: 26879191 Change-Id: Iad2857ddf7f09dd918637f99f740932e1fb7187c TEST: WifiEnterpriseConfigTest CTS test --- .../net/wifi/WifiEnterpriseConfig.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java index 53efe6c19015b..1dfab38e874dd 100644 --- a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java +++ b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java @@ -101,6 +101,8 @@ public class WifiEnterpriseConfig implements Parcelable { /** @hide */ public static final String CA_CERT_KEY = "ca_cert"; /** @hide */ + public static final String CA_PATH_KEY = "ca_path"; + /** @hide */ public static final String ENGINE_KEY = "engine"; /** @hide */ public static final String ENGINE_ID_KEY = "engine_id"; @@ -653,6 +655,33 @@ public class WifiEnterpriseConfig implements Parcelable { mCaCerts = null; } + /** + * Set the ca_path directive on wpa_supplicant. + * + * From wpa_supplicant documentation: + * + * Directory path for CA certificate files (PEM). This path may contain + * multiple CA certificates in OpenSSL format. Common use for this is to + * point to system trusted CA list which is often installed into directory + * like /etc/ssl/certs. If configured, these certificates are added to the + * list of trusted CAs. ca_cert may also be included in that case, but it is + * not required. + * @param domain The path for CA certificate files + * @hide + */ + public void setCaPath(String path) { + setFieldValue(CA_PATH_KEY, path); + } + + /** + * Get the domain_suffix_match value. See setDomSuffixMatch. + * @return The path for CA certificate files. + * @hide + */ + public String getCaPath() { + return getFieldValue(CA_PATH_KEY, ""); + } + /** Set Client certificate alias. * *

See the {@link android.security.KeyChain} for details on installing or choosing