@@ -981,55 +981,72 @@ public void testReuseSession()
981981 SSLEngine client ;
982982 int ret ;
983983
984- /* create new SSLEngine */
985984 System .out .print ("\t Session reuse" );
986985
987- this .ctx = tf .createSSLContext ("TLS" , engineProvider );
988- server = this .ctx .createSSLEngine ();
989- client = this .ctx .createSSLEngine ("wolfSSL client test" , 11111 );
990-
991- server .setUseClientMode (false );
992- server .setNeedClientAuth (false );
993- client .setUseClientMode (true );
994- ret = tf .testConnection (server , client , null , null , "Test reuse" );
995- if (ret != 0 ) {
996- error ("\t \t \t ... failed" );
997- fail ("failed to create engine" );
998- }
986+ /* wolfjsse.clientSessionCache.disabled could be set in users
987+ * java.security file which would cause this test to not work
988+ * properly. Save their setting here, and re-enable session
989+ * cache for this test */
990+ String originalProp = Security .getProperty (
991+ "wolfjsse.clientSessionCache.disabled" );
992+ Security .setProperty ("wolfjsse.clientSessionCache.disabled" , "false" );
999993
1000994 try {
1001- /* test close connection */
1002- tf .CloseConnection (server , client , false );
1003- } catch (SSLException ex ) {
1004- error ("\t \t \t ... failed" );
1005- fail ("failed to create engine" );
1006- }
995+ /* create new SSLEngine */
996+ this .ctx = tf .createSSLContext ("TLS" , engineProvider );
997+ server = this .ctx .createSSLEngine ();
998+ client = this .ctx .createSSLEngine ("wolfSSL client test" , 11111 );
1007999
1008- server = this .ctx .createSSLEngine ();
1009- client = this .ctx .createSSLEngine ("wolfSSL client test" , 11111 );
1010- client .setEnableSessionCreation (false );
1011- server .setUseClientMode (false );
1012- server .setNeedClientAuth (false );
1013- client .setUseClientMode (true );
1014- ret = tf .testConnection (server , client , null , null , "Test reuse" );
1015- if (ret != 0 ) {
1016- error ("\t \t \t ... failed" );
1017- fail ("failed to create engine" );
1018- }
1019- try {
1020- /* test close connection */
1021- tf .CloseConnection (server , client , false );
1022- } catch (SSLException ex ) {
1023- error ("\t \t \t ... failed" );
1024- fail ("failed to create engine" );
1025- }
1000+ server .setUseClientMode (false );
1001+ server .setNeedClientAuth (false );
1002+ client .setUseClientMode (true );
1003+ ret = tf .testConnection (server , client , null , null , "Test reuse" );
1004+ if (ret != 0 ) {
1005+ error ("\t \t \t ... failed" );
1006+ fail ("failed to create engine" );
1007+ }
10261008
1027- if (client .getEnableSessionCreation () ||
1028- !server .getEnableSessionCreation ()) {
1029- error ("\t \t \t ... failed" );
1030- fail ("bad enabled session creation" );
1009+ try {
1010+ /* test close connection */
1011+ tf .CloseConnection (server , client , false );
1012+ } catch (SSLException ex ) {
1013+ error ("\t \t \t ... failed" );
1014+ fail ("failed to create engine" );
1015+ }
1016+
1017+ server = this .ctx .createSSLEngine ();
1018+ client = this .ctx .createSSLEngine ("wolfSSL client test" , 11111 );
1019+ client .setEnableSessionCreation (false );
1020+ server .setUseClientMode (false );
1021+ server .setNeedClientAuth (false );
1022+ client .setUseClientMode (true );
1023+ ret = tf .testConnection (server , client , null , null , "Test reuse" );
1024+ if (ret != 0 ) {
1025+ error ("\t \t \t ... failed" );
1026+ fail ("failed to create engine" );
1027+ }
1028+ try {
1029+ /* test close connection */
1030+ tf .CloseConnection (server , client , false );
1031+ } catch (SSLException ex ) {
1032+ error ("\t \t \t ... failed" );
1033+ fail ("failed to create engine" );
1034+ }
1035+
1036+ if (client .getEnableSessionCreation () ||
1037+ !server .getEnableSessionCreation ()) {
1038+ error ("\t \t \t ... failed" );
1039+ fail ("bad enabled session creation" );
1040+ }
1041+
1042+ pass ("\t \t \t ... passed" );
1043+
1044+ } finally {
1045+ if (originalProp != null && !originalProp .isEmpty ()) {
1046+ Security .setProperty (
1047+ "wolfjsse.clientSessionCache.disabled" , originalProp );
1048+ }
10311049 }
1032- pass ("\t \t \t ... passed" );
10331050 }
10341051
10351052 /**
0 commit comments