我正在使用authorizent gem 1.8.2
我想知道它是否与TLS 1.2兼容。
答案 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。