OSDN Git Service

Account for null client certificate
authorPaul Stewart <pstew@google.com>
Fri, 27 Jan 2017 17:37:17 +0000 (09:37 -0800)
committerPaul Stewart <pstew@google.com>
Fri, 27 Jan 2017 20:47:20 +0000 (12:47 -0800)
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

index 5028d47..0bfb955 100644 (file)
@@ -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);
     }
 
     /**