CentOS 6.8 OpenSSL v1.0.1-fips NodeJS 握手

CentOS 6.8 OpenSSL v1.0.1-fips NodeJS 握手

我已经在 CentOS 6.8 二进制包上安装了 nodejs(最新版 v.7.xx)。我正尝试连接到一个使用相当旧的 TSLv1 加密协议的站点。在与该域握手时(我使用 https 模块),NodeJS 失败并显示以下错误消息:

Error: write EPROTO 140078368692000:error:14077438:SSL 
routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal 
error:../deps/openssl/openssl/ssl/s23_clnt.c:769:

    at exports._errnoException (util.js:1033:11)
    at WriteWrap.afterWrite [as oncomplete] (net.js:816:14)

当我添加 secureProtocol 选项(将其设置为 TLSv1_method)时,我得到:

   write EPROTO 140528424298272:error:14094438:SSL 
   routines:ssl3_read_bytes:tlsv1 alert internal 
   error:../deps/openssl/openssl/ssl/s3_pkt.c:1493:SSL alert number 80
   140528424298272:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl 
   handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:659:

我的机器上的 OpenSSL 版本(好像它与二进制包有关)当前有以下版本:

OpenSSL 1.0.1e-fips 11 Feb 2013

据我所知,NodeJS 使用它自己的二进制包,所以升级没有帮助(如果可能的话,我想避免这种情况)。

我已经检查了 OpenSSL 的更新日志,似乎没有任何影响 OpenSSL 特定版本的问题(我的意思是握手问题)。

相关内容