tests: Try users2.pkcs12 twice to add coverage
authorJouni Malinen <j@w1.fi>
Mon, 10 Aug 2015 21:38:44 +0000 (00:38 +0300)
committerJouni Malinen <j@w1.fi>
Mon, 10 Aug 2015 22:10:15 +0000 (01:10 +0300)
This allows manual verification of extra PKCS#12 certificate processing.

Signed-off-by: Jouni Malinen <j@w1.fi>
tests/hwsim/auth_serv/user3.pkcs12 [new file with mode: 0644]
tests/hwsim/test_ap_eap.py

diff --git a/tests/hwsim/auth_serv/user3.pkcs12 b/tests/hwsim/auth_serv/user3.pkcs12
new file mode 100644 (file)
index 0000000..953d7cb
Binary files /dev/null and b/tests/hwsim/auth_serv/user3.pkcs12 differ
index a4f2e67..1fc0bfd 100644 (file)
@@ -1341,11 +1341,18 @@ def test_ap_wpa2_eap_tls_pkcs12(dev, apdev):
     dev[0].request("REMOVE_NETWORK all")
     dev[0].wait_disconnected()
 
-    eap_connect(dev[0], apdev[0], "TLS", "tls user", ca_cert="auth_serv/ca.pem",
-                private_key="auth_serv/user2.pkcs12",
-                private_key_passwd="whatever")
-    dev[0].request("REMOVE_NETWORK all")
-    dev[0].wait_disconnected()
+    # Run this twice to verify certificate chain handling with OpenSSL. Use two
+    # different files to cover both cases of the extra certificate being the
+    # one that signed the client certificate and it being unrelated to the
+    # client certificate.
+    for pkcs12 in "auth_serv/user2.pkcs12", "auth_serv/user3.pkcs12":
+        for i in range(2):
+            eap_connect(dev[0], apdev[0], "TLS", "tls user",
+                        ca_cert="auth_serv/ca.pem",
+                        private_key=pkcs12,
+                        private_key_passwd="whatever")
+            dev[0].request("REMOVE_NETWORK all")
+            dev[0].wait_disconnected()
 
 def test_ap_wpa2_eap_tls_pkcs12_blob(dev, apdev):
     """WPA2-Enterprise connection using EAP-TLS and PKCS#12 from configuration blob"""