我正在使用 CentOS 8 并将 PHP 代码“curl”写入仅支持 TLS v1.0 的远程服务器。我无法说服对方升级到 TLS v1.2,所以必须自己解决。我知道 CentOSupdate-crypto-policies legacy
中有一个系统范围的设置可以工作。我的问题是:有没有一种方法可以对我的 curl 进行编程(在 PHP 中),这样我就可以将加密策略保持为默认值,但可以访问 TLS v1.0 站点?
我的 PHP 代码是这样的:
curl_setopt_array($ch = curl_init(), array(
CURLOPT_POST => true,
CURLOPT_URL => $URL,
CURLOPT_POSTFIELDS => array(
"search_user_id" => $user,
"search_system_id" => $systemid,
"token" => $token,
),
CURLOPT_SAFE_UPLOAD => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_VERBOSE => true,
));
它会返回错误
错误:1425F102:SSL 例程:ssl_choose_client_version:不支持的协议
参考 Redhat 的使用系统范围的加密策略,有一些方法可以调整到不同的策略级别。我尝试了 curl 的命令行版本,$ curl https://example.com --ciphers '@SECLEVEL=0:DES-CBC3-SHA:RSA-DES-CBC3-SHA'
但仍然遇到相同的错误。不知道出了什么问题。感谢有人可以提供帮助。非常感谢。