Nikhil created TOMEE-2760:
-----------------------------
Summary: javax.net.ssl.SSLException(certificate_unknown) while
deploying a enterprise ear over TOMEE8
Key: TOMEE-2760
URL: https://issues.apache.org/jira/browse/TOMEE-2760
Project: TomEE
Issue Type: Bug
Components: TomEE Core Server
Affects Versions: 8.0.0-Final
Reporter: Nikhil
Hi,
We are trying to deploy an enterprise level EAR application on the TomEE 8.0
environment with JDK 1.8.x and ActiveMQ setup war.
During the startup of the TomEE server, while deploying the EAR file.. we got
into below exceptions..
org.apache.activemq.broker.TransportConnector$1 onAcceptError [SEVERE] Could
not accept connection from null :
{}org.apache.activemq.broker.TransportConnector$1 onAcceptError [SEVERE] Could
not accept connection from null : {}java.io.IOException:
javax.net.ssl.SSLException: Received fatal alert: certificate_unknown at
org.apache.activemq.transport.nio.NIOSSLTransport.initializeStreams(NIOSSLTransport.java:196)
at
org.apache.activemq.transport.tcp.TcpTransport.connect(TcpTransport.java:543)
at
org.apache.activemq.transport.nio.NIOTransport.doStart(NIOTransport.java:174)
at
org.apache.activemq.transport.nio.NIOSSLTransport.doStart(NIOSSLTransport.java:470)
at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:55) at
org.apache.activemq.transport.AbstractInactivityMonitor.start(AbstractInactivityMonitor.java:169)
at
org.apache.activemq.transport.InactivityMonitor.start(InactivityMonitor.java:52)
at
org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:64) at
org.apache.activemq.transport.WireFormatNegotiator.start(WireFormatNegotiator.java:72)
at
org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:64) at
org.apache.activemq.broker.TransportConnection.start(TransportConnection.java:1072)
at
org.apache.activemq.broker.TransportConnector$1$1.run(TransportConnector.java:218)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)Caused by: javax.net.ssl.SSLException:
Received fatal alert: certificate_unknown at
sun.security.ssl.Alerts.getSSLException(Alerts.java:208) at
sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1666) at
sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1634) at
sun.security.ssl.SSLEngineImpl.recvAlert(SSLEngineImpl.java:1800) at
sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1083) at
sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:907) at
sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:781) at
javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624) at
org.apache.activemq.transport.nio.NIOSSLTransport.secureRead(NIOSSLTransport.java:393)
at
org.apache.activemq.transport.nio.NIOSSLTransport.doHandshake(NIOSSLTransport.java:428)
at
org.apache.activemq.transport.nio.NIOSSLTransport.initializeStreams(NIOSSLTransport.java:164)
... 14 more
Further the below stack trace --
org.apache.activemq.transport.failover.FailoverTransport doReconnect [FINE]
Connect fail to: nio+ssl+context://myhost:27145, reason:
{}org.apache.activemq.transport.failover.FailoverTransport doReconnect [FINE]
Connect fail to: nio+ssl+context://myhost:27145, reason:
{}javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException:
No name matching myhost found at
sun.security.ssl.Alerts.getSSLException(Alerts.java:192) at
sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1959) at
sun.security.ssl.Handshaker.fatalSE(Handshaker.java:328) at
sun.security.ssl.Handshaker.fatalSE(Handshaker.java:322) at
sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1614)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1052) at
sun.security.ssl.Handshaker.process_record(Handshaker.java:987) at
sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072) at
sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:757) at
sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123) at
org.apache.activemq.transport.tcp.TcpBufferedOutputStream.flush(TcpBufferedOutputStream.java:115)
at java.io.DataOutputStream.flush(DataOutputStream.java:123) at
org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:194) at
org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:335)
at
org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:317)
at
org.apache.activemq.transport.WireFormatNegotiator.sendWireFormat(WireFormatNegotiator.java:181)
at
org.apache.activemq.transport.WireFormatNegotiator.sendWireFormat(WireFormatNegotiator.java:84)
at
org.apache.activemq.transport.WireFormatNegotiator.start(WireFormatNegotiator.java:74)
at
org.apache.activemq.transport.failover.FailoverTransport.doReconnect(FailoverTransport.java:1017)
at
org.apache.activemq.transport.failover.FailoverTransport$2.iterate(FailoverTransport.java:148)
at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133)
at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)Caused by:
java.security.cert.CertificateException: No name matching myhost found at
sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:231) at
sun.security.util.HostnameChecker.match(HostnameChecker.java:96) at
sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:455)
at
sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:436)
at
sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:200)
at
sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
at
sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1596)
... 22 more
The same EAR deployment was working fine with 7.0.3 TomEE environment + JDK 8.
While researching, we found that the similar issue w.r.t hostname verification
was added recently as part of ActiveMQ 5.15.x change @
[https://securitytracker.com/id/1041618]
|
|The vendor advisory is available at:
http://activemq.apache.org/security-advisories.data/CVE-2018-11775-announcement.txt|
|
We couldn't see any option for disabled the same in TOMEE or ActiveMQ.xml
Please let us know if there is any issue w.r.t above configurations.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)