0

我正在使用 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'但仍然遇到相同的错误。不知道出了什么问题。感谢有人可以提供帮助。非常感谢。

4

0 回答 0