ssl - 混合应用程序中的 WAS 8.5.5 + Worklight 6.1 和 TLS 1.2

标签 ssl ibm-mobilefirst websphere hybrid-mobile-app tls1.2

我们正在迁移到 WAS 8.5.5 和 TLS 1.2,并观察到一些意外问题。

输入是:

  1. 工作灯 6.1.0.1
  2. WAS 8.5.5.9 + SDK Java 8
  3. 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/

相关文章:

ssl - 如何修复etcd集群 "error "tls : first record does not look like a TLS handshake""

python-3.x - 错误 : Could not find suitable distribution for Requirement. 解析 ('pytest-runner' )

java - 在没有 SSL 的情况下使用带有 Java 套接字的 session

node.js - 安装移动优先开发套件和迁移帮助的正确 Node js 版本是多少

blackberry - IBM Worklight - "config.xml is malformed xml or could not be found in the application' s 根”

websphere - 如何更改 WebSphere Application Server(只读)配置文件的访问级别

java - 未找到 JVM ID

c - 与 tls 服务器和 letsencrypt 的 ssl 连接

javascript - IBM Mobile First Platform (6.3) - Windows Phone 8 环境和 Angularjs

java - RequestWrapper 对象必须扩展 ServletRequestWrapper 或 HttpServletRequestWrapper