[ https://issues.apache.org/jira/browse/DIRMINA-1067?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Peter Palaga updated DIRMINA-1067: ---------------------------------- Description: When we set up a test in which a client connects to the server three times using TLS with a client cert, then on OracleJDK and OpenJDK the {{org.apache.mina.filter.ssl.SslClientCertTest.TrustAndStoreTrustManager.checkClientTrusted(X509Certificate[], String)}} method is invoked three times, while on IBM JDK, the same method is invoked only once. I kindly ask for an explanation why this happens. I am not an expert in TLS and therefore I am not able to tell whether this is a bug in Mina, any of the JDKs, both or none. Steps to reproduce: (1) Prepare {code} git fetch https://github.com/ppalaga/mina.git refs/heads/DIRMINA-1067:DIRMINA-1067 git checkout DIRMINA-1067 mvn clean install -DskipTests {code} (2) Test with Oracle JDK or OpenJDK which both work as expected. {code} export JAVA_HOME=/path/to/OracleJDK # change this $JAVA_HOME/bin/java -version java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) mvn test -Dtest=SslClientCertTest ... Running org.apache.mina.filter.ssl.SslClientCertTest [22:04:18] INFO [org.apache.mina.filter.ssl.SslClientCertTest] - Clearing certs [22:04:19] INFO [org.apache.mina.filter.ssl.SslClientCertTest] - Adding cert CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown [22:04:20] INFO [org.apache.mina.filter.ssl.SslClientCertTest] - Adding cert CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown [22:04:22] INFO [org.apache.mina.filter.ssl.SslClientCertTest] - Adding cert CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.032 sec - in org.apache.mina.filter.ssl.SslClientCertTest {code} Note that {{Adding cert ...}} appears three times in the log (3) Test with IBM JDK {code} export JAVA_HOME=/path/to/IBMJDK $JAVA_HOME/bin/java -version java version "1.8.0" Java(TM) SE Runtime Environment (build pxa6480sr3fp12-20160919_01(SR3 FP12)) IBM J9 VM (build 2.8, JRE 1.8.0 Linux amd64-64 Compressed References 20160915_318796 (JIT enabled, AOT enabled) J9VM - R28_Java8_SR3_20160915_0912_B318796 JIT - tr.r14.java.green_20160818_122998 GC - R28_Java8_SR3_20160915_0912_B318796_CMPRSS J9CL - 20160915_318796) JCL - 20160914_01 based on Oracle jdk8u101-b13 mvn surefire:test -Dtest=SslClientCertTest ... Running org.apache.mina.filter.ssl.SslClientCertTest [22:10:42] INFO [org.apache.mina.filter.ssl.SslClientCertTest] - Clearing certs [22:10:42] INFO [org.apache.mina.filter.ssl.SslClientCertTest] - Adding cert CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 5.5 sec <<< FAILURE! - in org.apache.mina.filter.ssl.SslClientCertTest testClientCerts(org.apache.mina.filter.ssl.SslClientCertTest) Time elapsed: 5.412 sec <<< FAILURE! java.lang.AssertionError: expected:<3> but was:<1> {code} Expected: {{testClientCerts}} should pass Actual: {{testClientCerts}} should fails was:Steps to reproduce will follow. > checkClientTrusted() invoked just once on IBM JRE > ------------------------------------------------- > > Key: DIRMINA-1067 > URL: https://issues.apache.org/jira/browse/DIRMINA-1067 > Project: MINA > Issue Type: Bug > Components: Core > Affects Versions: 2.0.16 > Reporter: Peter Palaga > > When we set up a test in which a client connects to the server three times > using TLS with a client cert, then on OracleJDK and OpenJDK the > {{org.apache.mina.filter.ssl.SslClientCertTest.TrustAndStoreTrustManager.checkClientTrusted(X509Certificate[], > String)}} method is invoked three times, while on IBM JDK, the same method > is invoked only once. > I kindly ask for an explanation why this happens. I am not an expert in TLS > and therefore I am not able to tell whether this is a bug in Mina, any of the > JDKs, both or none. > Steps to reproduce: > (1) Prepare > {code} > git fetch https://github.com/ppalaga/mina.git > refs/heads/DIRMINA-1067:DIRMINA-1067 > git checkout DIRMINA-1067 > mvn clean install -DskipTests > {code} > (2) Test with Oracle JDK or OpenJDK which both work as expected. > {code} > export JAVA_HOME=/path/to/OracleJDK # change this > $JAVA_HOME/bin/java -version > java version "1.8.0_121" > Java(TM) SE Runtime Environment (build 1.8.0_121-b13) > Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) > mvn test -Dtest=SslClientCertTest > ... > Running org.apache.mina.filter.ssl.SslClientCertTest > [22:04:18] INFO [org.apache.mina.filter.ssl.SslClientCertTest] - Clearing > certs > [22:04:19] INFO [org.apache.mina.filter.ssl.SslClientCertTest] - Adding cert > CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown > [22:04:20] INFO [org.apache.mina.filter.ssl.SslClientCertTest] - Adding cert > CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown > [22:04:22] INFO [org.apache.mina.filter.ssl.SslClientCertTest] - Adding cert > CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown > Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.032 sec - > in org.apache.mina.filter.ssl.SslClientCertTest > {code} > Note that {{Adding cert ...}} appears three times in the log > (3) Test with IBM JDK > {code} > export JAVA_HOME=/path/to/IBMJDK > $JAVA_HOME/bin/java -version > java version "1.8.0" > Java(TM) SE Runtime Environment (build pxa6480sr3fp12-20160919_01(SR3 FP12)) > IBM J9 VM (build 2.8, JRE 1.8.0 Linux amd64-64 Compressed References > 20160915_318796 (JIT enabled, AOT enabled) > J9VM - R28_Java8_SR3_20160915_0912_B318796 > JIT - tr.r14.java.green_20160818_122998 > GC - R28_Java8_SR3_20160915_0912_B318796_CMPRSS > J9CL - 20160915_318796) > JCL - 20160914_01 based on Oracle jdk8u101-b13 > mvn surefire:test -Dtest=SslClientCertTest > ... > Running org.apache.mina.filter.ssl.SslClientCertTest > [22:10:42] INFO [org.apache.mina.filter.ssl.SslClientCertTest] - Clearing > certs > [22:10:42] INFO [org.apache.mina.filter.ssl.SslClientCertTest] - Adding cert > CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown > Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 5.5 sec <<< > FAILURE! - in org.apache.mina.filter.ssl.SslClientCertTest > testClientCerts(org.apache.mina.filter.ssl.SslClientCertTest) Time elapsed: > 5.412 sec <<< FAILURE! > java.lang.AssertionError: expected:<3> but was:<1> > {code} > Expected: {{testClientCerts}} should pass > Actual: {{testClientCerts}} should fails -- This message was sent by Atlassian JIRA (v6.3.15#6346)