From 1ca57a1d10e56c376b94a4f4992b037f1428d853 Mon Sep 17 00:00:00 2001 From: Paul Stewart Date: Fri, 27 Jan 2017 09:37:17 -0800 Subject: [PATCH] Account for null client certificate If a null certificate is passed to setClientKeyEntry() we should not pass a non-null array with a single null element to the setClientKeyEntryWithCertificateChain helper method. Instead we should pass a null array. Cherry-pick of 410a3498ac28dccf69212d94a533040893c7ce0c Bug: 34765004 Test: cts-tradefed run cts -d --module CtsNetTestCases --test android.net.wifi.cts.WifiEnterpriseConfigTest Change-Id: I02793b4b29bc7325f98833c58bf652ba68353827 --- wifi/java/android/net/wifi/WifiEnterpriseConfig.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java index 5028d47481b05..0bfb95581e602 100644 --- a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java +++ b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java @@ -752,8 +752,11 @@ public class WifiEnterpriseConfig implements Parcelable { * @throws IllegalArgumentException for an invalid key or certificate. */ public void setClientKeyEntry(PrivateKey privateKey, X509Certificate clientCertificate) { - setClientKeyEntryWithCertificateChain(privateKey, - new X509Certificate[] {clientCertificate}); + X509Certificate[] clientCertificates = null; + if (clientCertificate != null) { + clientCertificates = new X509Certificate[] {clientCertificate}; + } + setClientKeyEntryWithCertificateChain(privateKey, clientCertificates); } /**