如何解决IBM RAD 9与WebSphere v8.5通信的SSLC0008E SSL错误
解决RAD 9.7.0.5与WebSphere 8.5.5.15启用LDAP安全后的SSL通信错误
问题描述
使用RAD 9.7.0.5(Build ID: RADO9.7.0.5-I20220615_1528)与WebSphere Platform 8.5.5.15开发时,仅配置RAD并启用自定义LDAP应用安全后,启停服务器出现异常,服务器超时后仍无法正常启停,核心错误如下:
[10/10/24 13:57:29:162 EDT] 00000054 SSLHandshakeE E SSLC0008E: Unable to initialize SSL connection. Unauthorized access was denied or security settings have expired. Exception is javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? at com.ibm.jsse2.c.a(c.java:12) at com.ibm.jsse2.as.a(as.java:257) at com.ibm.jsse2.as.unwrap(as.java:528) at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:5) at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInbound(SSLConnectionLink.java:586) at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.ready(SSLConnectionLink.java:346) 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.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892) . [10/10/24 13:57:29:981 EDT] 00000042 RoleBasedAuth A SECJ0305I: The role-based authorization check failed for admin-authz operation AdminService:pullNotifications:com.ibm.ws.management.event.ListenerIdentifier:java.lang.Integer. The user UNAUTHENTICATED (unique ID: unauthenticated) was not granted any of the following required roles: configurator, administrator, auditor, monitor, deployer, adminsecuritymanager, operator.
已尝试修改RAD的ssl.client.props协议版本、调整QOP及csi v2连接设置,均无效,经排查推测问题出在RAD与WebSphere的通信环节。
可行解决方案
1. 统一SSL协议版本
WebSphere 8.5.5.15需与RAD使用兼容的SSL协议:
- 打开WebSphere控制台,依次进入安全→SSL证书和密钥管理→SSL配置→节点默认SSL设置→质量保护,确认已启用
TLSv1.2 - 打开RAD的
ssl.client.props文件(路径示例:C:\IBM\SDP97\runtimes\base_stub\properties),修改以下属性:com.ibm.ssl.protocol=TLSv1.2 com.ibm.ssl.enabledProtocols=TLSv1.2 - 保存文件后重启RAD
2. 让RAD使用WebSphere的信任库
RAD默认信任库未包含WebSphere相关证书,导致SSL验证失败:
- 找到WebSphere信任库路径,通常为
[WebSphere安装目录]\profiles\[你的Profile]\etc\trust.p12 - 修改RAD的
ssl.client.props中信任库相关属性:com.ibm.ssl.trustStore=[WebSphere信任库完整路径] com.ibm.ssl.trustStorePassword=WebAS com.ibm.ssl.trustStoreType=PKCS12 - 重启RAD后重新连接服务器
3. 授权RAD连接用户的JMX权限
针对SECJ0305I错误,需确保RAD使用的用户具备WebSphere管理员权限:
- 在WebSphere控制台进入用户和组→管理用户,将用于RAD连接的LDAP用户添加到
administrator角色 - 在RAD的服务器配置中,确认连接WebSphere时使用该授权用户的账号密码
- 检查WebSphere的JMX连接器设置:系统管理→控制台首选项→JMX连接器,确保RMI连接器的安全配置与RAD匹配
4. 禁用RAD自动服务器监控
RAD自动监控可能发起未加密连接,触发plaintext错误:
- 打开RAD,依次进入窗口→首选项→服务器→WebSphere服务器
- 取消勾选"在服务器启动时自动连接到管理控制台"和"启用服务器监控"选项
- 手动启动服务器后,再手动进行连接操作
内容的提问来源于stack exchange,提问作者Berlin Brown
相关产品推荐
相关产品推荐

