【问题标题】:Authorize.net gem TLS 1.2 compatibilityAuthorize.net gem TLS 1.2 兼容性
【发布时间】:2018-02-26 08:05:59
【问题描述】:

我正在使用授权 gem 1.8.2

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

【问题讨论】:

标签: ruby authorize.net


【解决方案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。

【讨论】:

    猜你喜欢
    • 2016-09-13
    • 2017-12-19
    • 2019-01-10
    • 2023-04-10
    • 2019-09-20
    • 2016-04-03
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    相关资源
    最近更新 更多