我们正在迁移到 WAS 8.5.5 和 TLS 1.2,并观察到一些意外问题。
输入是:
- 工作灯 6.1.0.1
- WAS 8.5.5.9 + SDK Java 8
- WAS 已切换到 TLS 1.2(遵循本指南 https://developer.ibm.com/answers/questions/206952/how-do-i-configure-websphere-application-server-ss.html )
应用程序是混合的
当我们通过网络模拟器使用应用程序时 - 它工作正常。
当我们通过 IMC 从硬件设备(Android 或 iOS)使用它时 - 我们得到异常提示
- “客户端”使用 TLS 1.1
- 服务器使用 TLS 1.2
- HTTPS握手错误
在这种情况下,不清楚什么是“客户端”以及它为什么使用 TLS v1.1。 iOS 设备 (iPhone) 网络浏览器启用了 TLS 1.2 - 可以使用 TLS 1.2 协议(protocol)打开 HTTPS 链接。 这是来自 SystemOut.log 的完整堆栈跟踪
[6/14/16 11:16:32:197 EDT] 000000b2 SSLHandshakeE E SSLC0008E: Unable to initialize SSL connection. Unauthorized access was denied or security settings have expired. Exception is javax.net.ssl.SSLHandshakeException: Client requested protocol TLSv1.1 not enabled or not supported
at com.ibm.jsse2.C.z(C.java:532)
at com.ibm.jsse2.ap.b(ap.java:476)
at com.ibm.jsse2.ap.c(ap.java:112)
at com.ibm.jsse2.ap.wrap(ap.java:277)
at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:21)
at com.ibm.ws.ssl.channel.impl.SSLUtils.handleHandshake(SSLUtils.java:748)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInbound(SSLConnectionLink.java:567)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.ready(SSLConnectionLink.java:296)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)
Caused by: javax.net.ssl.SSLHandshakeException: Client requested protocol TLSv1.1 not enabled or not supported
at com.ibm.jsse2.j.a(j.java:31)
at com.ibm.jsse2.ap.a(ap.java:11)
at com.ibm.jsse2.C.a(C.java:342)
at com.ibm.jsse2.C.a(C.java:100)
at com.ibm.jsse2.E.a(E.java:140)
at com.ibm.jsse2.E.a(E.java:813)
at com.ibm.jsse2.C.r(C.java:44)
at com.ibm.jsse2.C$b.a(C$b.java:2)
at com.ibm.jsse2.C$b.run(C$b.java:3)
at java.security.AccessController.doPrivileged(AccessController.java:686)
at com.ibm.jsse2.C$c.run(C$c.java:11)
at com.ibm.ws.ssl.channel.impl.SSLUtils.handleHandshake(SSLUtils.java:835)
... 8 more
我不知道我们下一步应该做什么。 任何帮助将不胜感激。
最佳答案
似乎很明显,仅 TLSv1.2 对您的客户来说过于激进。在 WAS 配置方面,“ssl_tlsv2”可能是您能做的最好的。
关于ssl - 混合应用程序中的 WAS 8.5.5 + Worklight 6.1 和 TLS 1.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37833664/