忽略PHP streamcontext/curl/soap中的弱SSL算法

忽略PHP streamcontext/curl/soap中的弱SSL算法,php,ssl,soap,diffie-hellman,Php,Ssl,Soap,Diffie Hellman,声明:开始时,我想声明,我很清楚(并想告知他人)这不是正确的做事方式。如果找到SOUTION,将其作为最后手段 我的问题是弱算法。无法找到跳过检查的方法。 公开我的端点的公司声明它是安全的,他们不会升级SSL证书。我知道这是不安全的,但我无能为力,必须服从他们的决定 错误i get file\u get\u contents():SSL操作失败,代码为1。OpenSSL错误消息:错误:14082174:SSL例程:ssl3\u检查\u证书\u和\u算法:dh密钥太小 和文件\u get\u co

声明:开始时,我想声明,我很清楚(并想告知他人)这不是正确的做事方式。如果找到SOUTION,将其作为最后手段

我的问题是弱算法。无法找到跳过检查的方法。
公开我的端点的公司声明它是安全的,他们不会升级SSL证书。我知道这是不安全的,但我无能为力,必须服从他们的决定

错误i get file\u get\u contents():SSL操作失败,代码为1。OpenSSL错误消息:错误:14082174:SSL例程:ssl3\u检查\u证书\u和\u算法:dh密钥太小
和文件\u get\u contents():无法在中启用加密

我的代码是:

$context = stream_context_create([
    'http' => [
        'timeout' => 5,
    ],
    'ssl' => [
        // set some SSL/TLS specific options
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    ]
]);
var_dump(file_get_contents($wsdl, false, $context));
在浏览器i ge
SSL\u ERROR\u WEAK\u SERVER\u EPHEMERAL\u DH\u KEY
和有关WEAK
Diffie Hellman
KEY的信息

我正在寻找一种禁用此检查的方法


最好是通过streamContext,我可以在
SoapClient中使用它

您需要禁用Diffie-Hellman验证:

$context=stream\u context\u create(数组)(
“ssl”=>数组(
'密码'=>'默认值:!DH',
...
如果需要禁用所需证书的验证:

$context=stream\u context\u create(数组)(
“ssl”=>数组(
'密码'=>'默认值:!DH',
“验证对等方”=>false,
'verify_peer_name'=>false,
“允许自签名”=>true
)
);

使用curl()代替
文件获取内容,它有一个用于忽略ssl问题的标志dunno但是check@rtfm first curl就我所知不适用于
soapClient
。不行。其次,curl允许忽略对等和服务器检查,但不允许弱算法检查。我认为curl提供的标志与这里使用的verify_对等标志相同。我认为这里的问题是目前,您的系统比他们的系统更新,并且拒绝使用目前已知的不安全技术。为了避免这种情况,您可能需要将openssl库降级到一个过时的版本。@Abracadver看到了这篇文章。从中我知道我必须禁用算法检查。但找不到方法