summaryrefslogtreecommitdiffstats
path: root/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
diff options
context:
space:
mode:
Diffstat (limited to 'wifi/java/android/net/wifi/WifiEnterpriseConfig.java')
-rw-r--r--wifi/java/android/net/wifi/WifiEnterpriseConfig.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
index e611ea4..59b22bd 100644
--- a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
+++ b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
@@ -101,9 +101,18 @@ public class WifiEnterpriseConfig implements Parcelable {
public static final String REALM_KEY = "realm";
/** @hide */
public static final String PLMN_KEY = "plmn";
+ /** @hide */
+ public static final String PHASE1_KEY = "phase1";
+ /** {@hide} */
+ public static final String ENABLE_TLS_1_2 = "\"tls_disable_tlsv1_2=0\"";
+ /** {@hide} */
+ public static final String DISABLE_TLS_1_2 = "\"tls_disable_tlsv1_2=1\"";
private HashMap<String, String> mFields = new HashMap<String, String>();
+ //By default, we enable TLS1.2. However, due to a known bug on some radius, we may disable it to
+ // fall back to TLS 1.1.
+ private boolean mTls12Enable = true;
private X509Certificate mCaCert;
private PrivateKey mClientPrivateKey;
private X509Certificate mClientCertificate;
@@ -149,6 +158,7 @@ public class WifiEnterpriseConfig implements Parcelable {
}
writeCertificate(dest, mClientCertificate);
+ dest.writeInt(mTls12Enable ? 1: 0);
}
private void writeCertificate(Parcel dest, X509Certificate cert) {
@@ -196,6 +206,7 @@ public class WifiEnterpriseConfig implements Parcelable {
enterpriseConfig.mClientPrivateKey = userKey;
enterpriseConfig.mClientCertificate = readCertificate(in);
+ enterpriseConfig.mTls12Enable = (in.readInt() == 1);
return enterpriseConfig;
}
@@ -300,6 +311,26 @@ public class WifiEnterpriseConfig implements Parcelable {
}
/**
+ * Set the TLS version
+ * @param enable: true -- enable TLS1.2 false -- disable TLS1.2
+ * @hide
+ */
+ public void setTls12Enable(boolean enable) {
+ mTls12Enable = enable;
+ mFields.put(PHASE1_KEY,
+ enable ? ENABLE_TLS_1_2 : DISABLE_TLS_1_2);
+ }
+
+ /**
+ * Get the TLS1.2 enabled or not
+ * @return eap method configured
+ * @hide
+ */
+ public boolean getTls12Enable() {
+ return mTls12Enable;
+ }
+
+ /**
* Get the eap method.
* @return eap method configured
*/