Authorize.net gem TLS 1.2兼容性

时间:2018-02-26 08:06:00

标签: ruby authorize.net

我正在使用authorizent gem 1.8.2

我想知道它是否与TLS 1.2兼容。

1 个答案:

答案 0 :(得分:1)

对于authorize.net的TLS升级,它基于您服务器的OpenSSL库版本。要查看您是否兼容,请运行以下命令:

openssl s_client -connect secure.authorize.net:443

如果您收到如下所示的单行错误消息:

6641:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:586:

然后你不兼容。要修复,您需要在Linux中更新OpenSSL或从此处获取最新的OpenSSL - https://www.openssl.org/source/

对于构建,您可能需要将其配置为:

export CFLAGS=-fPIC
./config shared
make
make install     # this one as root

理论上,在更新之后,最好从源代码重建ruby。但是,如果没有这个,你可以做一个技巧:

创建一个新文件,我在ruby的同一目录中调用了我的ruby_openssl。该文件应包含以下内容:

#!/bin/sh
export LD_PRELOAD=/lib64/libssl.so.1.0.0:/lib64/libcrypto.so.1.0.0
exec /opt/ruby-1.8.7-p352/bin/ruby $*

LD_PRELOAD应该转到通过安装OpenSSL安装的共享文件,无论您在哪里安装它们。

然后,在你的apache配置中,在你引用ruby的任何地方引用你的新ruby_newopenssl。