OpenEdge 11.7.10连接REST被拒(错误10061):证书/密码套件问题?
OpenEdge 11.7.10 SSL连接失败(错误10061/9318/9407):密码套件匹配问题分析
问题背景
连接Azure API服务时遭遇SSL失败,报错信息:
Secure Socket Layer (SSL) failure. error code 10061: Unknown network error (9318),Connection failure for host xxxxx.azure-api.net port 443 transport TCP. (9407)
目标服务的TLS配置(通过Chrome/Edge查看):
- TLS 1.2
- 密钥交换:ECDHE_RSA with P-384
- 加密套件:AES_256_GCM
当前尝试的ABL配置中,指定的密码套件未覆盖目标服务要求的组合,且OpenEdge 11.7.10无TlsSupportedGroups()方法无法显式指定P-384曲线组。
核心问题分析
问题出在密码套件不匹配:你当前的cipher列表中缺少对应ECDHE_RSA + AES256-GCM的OpenEdge兼容套件。关于P-384椭圆曲线,OpenEdge 11.7.10默认支持该曲线组,无需额外配置,只要密码套件正确即可自动协商使用。
解决方案
1. 添加正确的密码套件
将ECDHE-RSA-AES256-GCM-SHA384添加到密码套件数组中,这是对应目标服务配置的OpenEdge标准命名。修改后的代码如下:
ASSIGN cTLSProtocols[1] = 'TLSv1.2' cTLSCiphers[1] = 'ECDHE-RSA-AES256-GCM-SHA384' // 匹配目标服务的核心套件 cTLSCiphers[2] = 'AES128-SHA256' cTLSCiphers[3] = 'DHE-RSA-AES128-SHA256' cTLSCiphers[4] = 'AES128-GCM-SHA256' cTLSCiphers[5] = 'DHE-RSA-AES128-GCM-SHA256' cTLSCiphers[6] = 'ADH-AES128-SHA256' cTLSCiphers[7] = 'ADH-AES128-GCM-SHA256' cTLSCiphers[8] = 'ADH-AES256-SHA256' cTLSCiphers[9] = 'AES256-SHA256' cTLSCiphers[10] = 'DHE-RSA-AES256-SHA256' cTLSCiphers[11] = 'AES128-SHA' cTLSCiphers[12] = 'AES256-GCM-SHA384' cTLSCiphers[13] = 'DHE-RSA-AES256-GCM-SHA384' .
2. 额外验证步骤
- 确保仅启用TLSv1.2协议,避免其他协议版本干扰协商
- 将匹配的套件放在数组最前面,OpenEdge会按顺序尝试协商
- 再次确认证书导入:检查DLC/certs目录下的证书存储是否包含Azure API的完整根证书链(可通过OpenSSL工具验证证书有效性)
内容的提问来源于stack exchange,提问作者mel
相关产品推荐
相关产品推荐

