为了测试我们的开发环境的正确性和性能,我们从源代码构建 SpringBoot 1.4.1-RELEASE 。 我们用相同的jdk,工具和springboot源版本克隆了VM。 我们在JDK 1.8.0_102和maven 3.3.9版本上构建它。 在我们的一个虚拟机上,很遗憾,在测试阶段,构建失败并出现下一个错误:错误测试: UndertowEmbeddedServletContainerFactoryTests.sslRestrictedProtocolsECDHETLS1Failure
@Test(expected = SSLHandshakeException.class)
public void sslRestrictedProtocolsECDHETLS1Failure() throws Exception {
testRestrictedSSLProtocolsAndCipherSuites(new String[] { "TLSv1" },
new String[] { "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" });
}
接下来是错误:
Tests run: 66, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 10.666 sec <<< FAILURE! - in org.springframework.boot.context.embedded.undertow.UndertowEmbeddedServletContainerFactoryTests
sslRestrictedProtocolsECDHETLS1Failure(org.springframework.boot.context.embedded.undertow.UndertowEmbeddedServletContainerFactoryTests) Time elapsed: 0.2 sec <<< ERROR!
java.lang.Exception: Unexpected exception, expected<javax.net.ssl.SSLHandshakeException> but was<java.net.SocketException>
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:170)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
at sun.security.ssl.InputRecord.read(InputRecord.java:503)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:394)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:141)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
at org.springframework.http.client.HttpComponentsClientHttpRequest.executeInternal(HttpComponentsClientHttpRequest.java:91)
at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48)
at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53)
at org.springframework.boot.context.embedded.AbstractEmbeddedServletContainerFactoryTests.getClientResponse(AbstractEmbeddedServletContainerFactoryTests.java:1020)
at org.springframework.boot.context.embedded.AbstractEmbeddedServletContainerFactoryTests.getResponse(AbstractEmbeddedServletContainerFactoryTests.java:982)
at org.springframework.boot.context.embedded.AbstractEmbeddedServletContainerFactoryTests.getResponse(AbstractEmbeddedServletContainerFactoryTests.java:976)
at org.springframework.boot.context.embedded.AbstractEmbeddedServletContainerFactoryTests.testRestrictedSSLProtocolsAndCipherSuites(AbstractEmbeddedServletContainerFactoryTests.java:645)
at org.springframework.boot.context.embedded.undertow.UndertowEmbeddedServletContainerFactoryTests.sslRestrictedProtocolsECDHETLS1Failure(UndertowEmbeddedServletContainerFactoryTests.java:230)
感谢。