Testsuite: handle change in GnuTLS cert preference
[exim.git] / test / scripts / 2000-GnuTLS / 2002
index 49f841e56ac81997d80ecf6e4cd07696720b8a69..f15b24d00a5b3ff632c0ed654853a71ade9dfcd5 100644 (file)
@@ -2,7 +2,8 @@
 gnutls
 exim -DSERVER=server -bd -oX PORT_D
 ****
-client-gnutls 127.0.0.1 PORT_D
+# Have the client prefer RSA (but support ECDSA as well).  That should get us RSA on both older and newer GnuTLS.
+client-gnutls -p NONE:+SIGN-RSA-SHA256:+SIGN-ECDSA-SHA512:+VERS-TLS-ALL:+ECDHE-RSA:+DHE-RSA:+RSA:+CIPHER-ALL:+MAC-ALL:+COMP-NULL:+CURVE-ALL:+CTYPE-X509 127.0.0.1 PORT_D
 ??? 220
 ehlo rhu.barb
 ??? 250-
@@ -25,7 +26,7 @@ This is a test encrypted message.
 quit
 ??? 221
 ****
-client-gnutls 127.0.0.1 PORT_D
+client-gnutls -p NONE:+SIGN-RSA-SHA256:+SIGN-ECDSA-SHA512:+VERS-TLS-ALL:+ECDHE-RSA:+DHE-RSA:+RSA:+CIPHER-ALL:+MAC-ALL:+COMP-NULL:+CURVE-ALL:+CTYPE-X509 127.0.0.1 PORT_D
 ??? 220
 ehlo rhu.barb
 ??? 250-
@@ -48,7 +49,7 @@ This is a test encrypted message.
 quit
 ??? 221
 ****
-client-gnutls HOSTIPV4 PORT_D
+client-gnutls -p NONE:+SIGN-RSA-SHA256:+SIGN-ECDSA-SHA512:+VERS-TLS-ALL:+ECDHE-RSA:+DHE-RSA:+RSA:+CIPHER-ALL:+MAC-ALL:+COMP-NULL:+CURVE-ALL:+CTYPE-X509 HOSTIPV4 PORT_D
 ??? 220
 ehlo rhu.barb
 ??? 250-
@@ -60,7 +61,7 @@ ehlo rhu.barb
 starttls
 ??? 220
 ****
-client-gnutls HOSTIPV4 PORT_D DIR/aux-fixed/exim-ca/example.com/server2.example.com/server2.example.com.pem DIR/aux-fixed/exim-ca/example.com/server2.example.com/server2.example.com.unlocked.key
+client-gnutls -p NONE:+SIGN-RSA-SHA256:+SIGN-ECDSA-SHA512:+VERS-TLS-ALL:+ECDHE-RSA:+DHE-RSA:+RSA:+CIPHER-ALL:+MAC-ALL:+COMP-NULL:+CURVE-ALL:+CTYPE-X509 HOSTIPV4 PORT_D DIR/aux-fixed/exim-ca/example.com/server2.example.com/server2.example.com.pem DIR/aux-fixed/exim-ca/example.com/server2.example.com/server2.example.com.unlocked.key
 ??? 220
 ehlo rhu.barb
 ??? 250-
@@ -83,6 +84,64 @@ This is a test encrypted message from a verified host.
 quit
 ??? 221
 ****
+#
+#
+# A client that only talks RSA.
+#
+# We have to specify the key-exchange as well as the authentication, otherwise,
+# the GnuTLS server side being foolish - it picks an ECDSA cipher-suite and then can't use it :(
+# Possibly fixed in 3.6.x ? 
+client-gnutls -p NONE:+SIGN-RSA-SHA256:+VERS-TLS-ALL:+ECDHE-RSA:+DHE-RSA:+RSA:+CIPHER-ALL:+MAC-ALL:+COMP-NULL:+CURVE-ALL:+CTYPE-X509 127.0.0.1 PORT_D
+??? 220
+ehlo rhu.barb
+??? 250-
+??? 250-
+??? 250-
+??? 250-
+??? 250-
+??? 250
+starttls
+??? 220
+mail from:<CALLER@test.ex>
+??? 250
+rcpt to:<CALLER@test.ex>
+??? 250
+DATA
+??? 3
+This is a test encrypted message.
+It should be sent under the RSA server cert and with an RSA cipher.
+.
+??? 250
+quit
+??? 221
+****
+#
+#
+# Make ECDSA authentication preferred (Older GnuTLS prefers RSA, it seems, Newer, ECDSA).
+client-gnutls -p NONE:+SIGN-ECDSA-SHA512:+VERS-TLS-ALL:+KX-ALL:+CIPHER-ALL:+MAC-ALL:+COMP-NULL:+CURVE-ALL:+CTYPE-X509 127.0.0.1 PORT_D
+??? 220
+ehlo rhu.barb
+??? 250-
+??? 250-
+??? 250-
+??? 250-
+??? 250-
+??? 250
+starttls
+??? 220
+mail from:<CALLER@test.ex>
+??? 250
+rcpt to:<CALLER@test.ex>
+??? 250
+DATA
+??? 3
+This is a test encrypted message.
+It should be sent under the EC server cert and with an ECDSA cipher.
+.
+??? 250
+quit
+??? 221
+****
 killdaemon
 exim -qf
 ****