You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2018/11/03 12:13:16 UTC
svn commit: r1845653 -
/tomcat/tc8.5.x/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
Author: markt
Date: Sat Nov 3 12:13:15 2018
New Revision: 1845653
URL: http://svn.apache.org/viewvc?rev=1845653&view=rev
Log:
Java 7 doesn't use TLS v1.2 by default. Make sure the client does for these tests.
Modified:
tomcat/tc8.5.x/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
Modified: tomcat/tc8.5.x/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java?rev=1845653&r1=1845652&r2=1845653&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java (original)
+++ tomcat/tc8.5.x/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java Sat Nov 3 12:13:15 2018
@@ -16,10 +16,14 @@
*/
package org.apache.tomcat.websocket;
+import java.io.File;
+import java.io.FileInputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.net.SocketTimeoutException;
import java.net.URI;
import java.nio.ByteBuffer;
+import java.security.KeyStore;
import java.util.ArrayList;
import java.util.List;
import java.util.Queue;
@@ -29,6 +33,8 @@ import java.util.concurrent.ExecutionExc
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManagerFactory;
import javax.servlet.ServletContextEvent;
import javax.websocket.ClientEndpointConfig;
import javax.websocket.ContainerProvider;
@@ -833,9 +839,28 @@ public class TestWsWebSocketContainer ex
ContainerProvider.getWebSocketContainer();
ClientEndpointConfig clientEndpointConfig =
ClientEndpointConfig.Builder.create().build();
+
+ // Create the SSL Context
+ // Java 7 doesn't default to TLSv1.2 but the tests do
+ SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
+
+ // Trust store
+ File keyStoreFile = new File(TesterSupport.CA_JKS);
+ KeyStore ks = KeyStore.getInstance("JKS");
+ try (InputStream is = new FileInputStream(keyStoreFile)) {
+ ks.load(is, org.apache.tomcat.websocket.Constants.SSL_TRUSTSTORE_PWD_DEFAULT.toCharArray());
+ }
+
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance(
+ TrustManagerFactory.getDefaultAlgorithm());
+ tmf.init(ks);
+
+ sslContext.init(null, tmf.getTrustManagers(), null);
+
clientEndpointConfig.getUserProperties().put(
- org.apache.tomcat.websocket.Constants.SSL_TRUSTSTORE_PROPERTY,
- TesterSupport.CA_JKS);
+ org.apache.tomcat.websocket.Constants.SSL_CONTEXT_PROPERTY,
+ sslContext);
+
Session wsSession = wsContainer.connectToServer(
TesterProgrammaticEndpoint.class,
clientEndpointConfig,
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org