summaryrefslogtreecommitdiffstats
path: root/luni/src/test
diff options
context:
space:
mode:
authorNeil Fuller <nfuller@google.com>2014-10-13 17:37:39 +0100
committerKenny Root <kroot@android.com>2014-10-23 01:03:04 +0000
commit728cf54794721668325f00bb72dc177d959d8c84 (patch)
tree1b462fbce997faa3d0d1ab6986ab091d3fcee259 /luni/src/test
parent7618d0b86f53ada960898d531e53e1980914539f (diff)
downloadlibcore-728cf54794721668325f00bb72dc177d959d8c84.zip
libcore-728cf54794721668325f00bb72dc177d959d8c84.tar.gz
libcore-728cf54794721668325f00bb72dc177d959d8c84.tar.bz2
Add an additional regression test for SSLSocketTest.
(cherry picked from commit bc1ea6573c76663718d441f7b0b849a91f3eefbd) Bug: 17962997 Bug: 17750026 Change-Id: I72ba538cf4350da18b098c98d4e91d787914683b
Diffstat (limited to 'luni/src/test')
-rw-r--r--luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java b/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java
index 10cf159..4681877 100644
--- a/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java
+++ b/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java
@@ -1608,6 +1608,42 @@ public class SSLSocketTest extends TestCase {
context.close();
}
+ // Confirms that communication without the TLS_FALLBACK_SCSV cipher works as it always did.
+ public void test_SSLSocket_sendsNoTlsFallbackScsv_Fallback_Success() throws Exception {
+ TestSSLContext context = TestSSLContext.create();
+
+ final SSLSocket client = (SSLSocket)
+ context.clientContext.getSocketFactory().createSocket(context.host, context.port);
+ final SSLSocket server = (SSLSocket) context.serverSocket.accept();
+
+ // Confirm absence of TLS_FALLBACK_SCSV.
+ assertFalse(Arrays.asList(client.getEnabledCipherSuites())
+ .contains(StandardNames.CIPHER_SUITE_FALLBACK));
+
+ ExecutorService executor = Executors.newFixedThreadPool(2);
+ Future<Void> s = executor.submit(new Callable<Void>() {
+ public Void call() throws Exception {
+ server.setEnabledProtocols(new String[] { "TLSv1", "SSLv3" });
+ server.startHandshake();
+ return null;
+ }
+ });
+ Future<Void> c = executor.submit(new Callable<Void>() {
+ public Void call() throws Exception {
+ client.setEnabledProtocols(new String[] { "SSLv3" });
+ client.startHandshake();
+ return null;
+ }
+ });
+ executor.shutdown();
+
+ s.get();
+ c.get();
+ client.close();
+ server.close();
+ context.close();
+ }
+
public void test_SSLSocket_sendsTlsFallbackScsv_InappropriateFallback_Failure() throws Exception {
TestSSLContext context = TestSSLContext.create();
@@ -1616,6 +1652,8 @@ public class SSLSocketTest extends TestCase {
final SSLSocket server = (SSLSocket) context.serverSocket.accept();
final String[] serverCipherSuites = server.getEnabledCipherSuites();
+
+ // Add TLS_FALLBACK_SCSV
final String[] clientCipherSuites = new String[serverCipherSuites.length + 1];
System.arraycopy(serverCipherSuites, 0, clientCipherSuites, 0, serverCipherSuites.length);
clientCipherSuites[serverCipherSuites.length] = StandardNames.CIPHER_SUITE_FALLBACK;