rcp 返回 error:00000000:invalid library (0):OPENSSL_internal:invalid library
rcp 返回 error:00000000:invalid library (0):OPENSSL_internal:invalid library
你好
今日遇到了通过 rcp 访问某网站(https://rsshub.app/telegram/channel/awesomeRSSHub) 时,遇到 “error:00000000:invalid library (0):OPENSSL_internal:invalid library” 错误。
{
"code": 1007900035,
"data": "SSL connect error",
"extendInfo": {
"httpPhase": "111000",
"dnsDur": "10.79",
"tcpDur": "7.67",
"tlsDur": "0.00",
"sndDur": "0.00",
"rcvDur": "0.00",
"totDur": "7365.18",
"redDur": "0.00",
"sptIP6": "0",
"proxyType": "none",
"peer": "199.193.***.***",
"sock": "94",
"sslErr": "error:00000000:invalid library (0):OPENSSL_internal:invalid library (0)",
"minTlsVersion": "TLS1",
"maxTlsVersion": "TLS1.3",
"ciphers": "ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-RSA-AES128-GCM-SHA256|ECDHE-ECDSA-AES256-GCM-SHA384|ECDHE-RSA-AES256-GCM-SHA384|ECDHE-ECDSA-CHACHA20-POLY1305|ECDHE-RSA-CHACHA20-POLY1305|ECDHE-PSK-CHACHA20-POLY1305|ECDHE-ECDSA-AES128-SHA|ECDHE-RSA-AES128-SHA|ECDHE-PSK-AES128-CBC-SHA|ECDHE-ECDSA-AES256-SHA|ECDHE-RSA-AES256-SHA|ECDHE-PSK-AES256-CBC-SHA|AES128-GCM-SHA256|AES256-GCM-SHA384|AES128-SHA|PSK-AES128-CBC-SHA|AES256-SHA|PSK-AES256-CBC-SHA|DES-CBC3-SHA"
}
}
{
"code": 1007900035,
"data": "SSL connect error",
"extendInfo": {
"httpPhase": "111000",
"dnsDur": "1.24",
"tcpDur": "20.27",
"tlsDur": "0.00",
"sndDur": "0.00",
"rcvDur": "0.00",
"totDur": "7471.79",
"redDur": "0.00",
"sptIP6": "0",
"proxyType": "none",
"peer": "199.193.***.***",
"sock": "170",
"sslErr": "error:00000000:invalid library (0):OPENSSL_internal:invalid library (0)",
"minTlsVersion": "TLS1",
"maxTlsVersion": "TLS1.3",
"ciphers": "ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-RSA-AES128-GCM-SHA256|ECDHE-ECDSA-AES256-GCM-SHA384|ECDHE-RSA-AES256-GCM-SHA384|ECDHE-ECDSA-CHACHA20-POLY1305|ECDHE-RSA-CHACHA20-POLY1305|ECDHE-PSK-CHACHA20-POLY1305|ECDHE-ECDSA-AES128-SHA|ECDHE-RSA-AES128-SHA|ECDHE-PSK-AES128-CBC-SHA|ECDHE-ECDSA-AES256-SHA|ECDHE-RSA-AES256-SHA|ECDHE-PSK-AES256-CBC-SHA|AES128-GCM-SHA256|AES256-GCM-SHA384|AES128-SHA|PSK-AES128-CBC-SHA|AES256-SHA|PSK-AES256-CBC-SHA|DES-CBC3-SHA"
}
}
重现步骤
const url = 'https://rsshub.app/telegram/channel/awesomeRSSHub'
const session = rcp.createSession();
try {
const resp = await session.get(url);
const body = resp.toString()
} catch (e) {
...
} finally {
session.close();
...
}
ps: 自带浏览器同样无法访问该网站,但通过卓易通安装的 Chrome 可以正常访问。怀疑是同样的 root cause。
版本
HarmonyOS NEXT 5.0.0.126 SP8
HongMeng Kernel 1.9.3
尝试排查
该网站由 CloudFlare 提供 CDN 服务,服务端应该不会有 TLS 协议的问题。
手工测试 tlsv1 和 tlsv1.3,均可正常访问。
$ curl -v https://rsshub.app/telegram/channel/awesomeRSSHub --tlsv1 > /dev/null
< HTTP/1.1 200 Connection established
$ curl -v https://rsshub.app/telegram/channel/awesomeRSSHub --tlsv1.3 > /dev/null
< HTTP/1.1 200 Connection established
1 回复
帖子标题中的错误信息“rcp 返回 error:00000000:invalid library (0):OPENSSL_internal:invalid library”通常与OpenSSL库的使用有关。OpenSSL是一个开源的加密库,广泛用于处理SSL/TLS协议。这个错误表明在尝试使用OpenSSL时,遇到了库无效或无法正确加载的问题。
可能的原因包括:
1. OpenSSL库文件缺失或损坏。
2. 库文件路径配置不正确,导致系统无法找到正确的OpenSSL库。
3. 使用了不兼容的OpenSSL版本。
4. 系统环境变量设置错误,影响了库的加载。
解决此类问题通常需要检查OpenSSL库的安装和配置情况,确保库文件完整且路径正确。如果问题持续,可能需要重新安装或更新OpenSSL库,并确认系统环境变量设置无误。