当前位置: 首页 > 面试题库 >

在PHP SoapClient中禁用证书验证

齐建安
2023-03-14
问题内容

简介:
有没有一种方法可以强制PHP中的内置SoapClient-class通过HTTPS连接到具有无效证书的服务器?

我为什么要这样做?
我已经在没有DNS条目或证书的服务器上部署了新应用程序。我想 设置DNS条目和修复证书 之前
尝试使用SoapClient连接到它,而最合理的方法似乎是使客户端在测试过程中忽略证书。

我是否没有意识到这是巨大的安全风险?
这仅用于测试。服务投入生产后,将有一个有效的证书,并且客户端将被迫对其进行验证。


问题答案:

SoapClient在其参数中接受 流上下文
,您可以创建自己。这样,您可以控制传输层的几乎每个方面:

$context = stream_context_create([
    'ssl' => [
        // set some SSL/TLS specific options
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    ]
]);

$client  = new SoapClient(null, [
    'location' => 'https://...',
    'uri' => '...', 
    'stream_context' => $context
]);


 类似资料:
  • 我想用以下值从Ruby代码发送http请求: http://some_domain.com?key=value 我有这个Spring配置: Spring转换配置: 但我有一个错误: 你知道我如何解决这个问题吗?我可以在Spring以某种方式禁用这个CSRF检查吗?

  • 问题内容: 从詹金斯(Jenkins)创建工作时,出现以下错误。如何在Jenkins中禁用证书验证? 在Git Bash中,我可以使用命令来禁用它,但不确定如何从Jenkins使用它。 错误: 问题答案: 最好的选择是将自签名证书添加到您的证书存储中 获取服务器证书树这可以使用chrome完成。 导航到服务器地址。单击挂锁图标并查看证书。将所有证书链导出为base64编码文件(PEM)格式。 将证

  • 问题内容: 尝试启动应用程序时收到此错误: 该应用程序位于封闭的网络中,永远无法访问oscp.thawte.com。是否有可以禁用此设置的Java设置? 问题答案:

  • 问题内容: 在Java中需要有关加密例程的帮助。 给定PKCS#7签名,我想针对受信任的存储验证它包含的所有证书。我假设签名中包含的所有证书均以正确的顺序形成有效的证书路径(或链,无论如何),因此 最上面的(#0)是签名证书; 下一个(#1)是中间证书,用于签署#0; 下一个(#2)是另一个中间证书,用于签署#1; 等等。 最后一个证书(#N)由CA签名。 到目前为止,这是我设法破解的: 所以问题

  • 我正在用以下组件构建自己的证书链: 根证书是自签名证书,中间证书由根证书和用户由中间证书签名。 现在我想验证一个用户证书是否有其根证书的锚。 具有 验证是可以的。在下一步中,我将使用 验证结果显示 什么是错的?

  • 当使用Citrus测试框架对服务器进行测试时,我无法禁用证书检查。 我得到以下错误:org.springframework.web.client.resourceAccessException:“”的POST请求上的I/O错误:证书与证书主题的公共名称不匹配:;嵌套异常是javax.net.ssl.SSLException。 下面是用于在Citrus中创建endpoint的代码片段: 任何想法都欢