OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify f...

完整的错误记录是:

file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:

error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed.

 

使用错误的地方,在运行短信接口商提供的一个发短信的接口时遇到的:

$gateway = "https://xxx.xxx.com/sdk2/BatchSend2.aspx?CorpID={$uid}&Pwd={$passwd}&Mobile={$num}&Content={$msg}&Cell=&SendTime=";

$result = file_get_contents($gateway); //就这步的时候出错了

百度了好久,最后在一篇文章那里看到了解决办法,谢谢原作者。(https://blog.youkuaiyun.com/enlangs/article/details/78988673)

解决办法如下:

环境

OS:Windows 2008R2 
PHP Version:5.6.31

问题

file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:

error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed.

解决方法

  1. 从这儿下载 http://curl.haxx.se/ca/cacert.pem ,放到C盘certs目录下(没有就创建),存储为 cacert.crt
  2. 打开 php.ini 找到里面的 curl.cainfo 和 openssl.cafile(2个 section 挨着的,前面的分号去掉)
  3. 修改 curl.cainfo=”c:\certs\cacert.crt”
  4. 修改 openssl.cafile=”c:\certs\cacert.crt”
  5. 重启 IIS 服务(别忘记了,很重要!)

就这样就完美解决了!

转载于:https://www.cnblogs.com/eaglepie/p/8967952.html

这个错误信息"OpenSSL: error:0A000086:SSL routines::certificate verify failed:"通常出现在使用OpenSSL库进行SSL/TLS连接时,证书验证失败的情况下。这个错误可能由多种原因引起,以下是一些常见的原因和解决方法: 1. 系统时间不正确: 解决方法:确保系统时间是准确的,可以与网络时间服务器同步。 2. 根证书缺失或过期: 解决方法:更新系统的根证书库,确保包含了最新的根证书。 3. 服务器证书过期或无效: 解决方法:检查服务器证书的有效期和签名,确保证书是有效的。 4. 中间证书缺失: 解决方法:确保服务器配置了完整的中间证书链。 5. 主机名不匹配: 解决方法:验证证书中的域名与实际访问的域名是否一致。 6. SNI(服务器名称指示)配置问题: 解决方法:确保客户端正确设置了SNI,特别是在使用虚拟主机的情况下。 7. 客户端或服务器配置问题: 解决方法:检查OpenSSL配置,确保正确设置了受信任的证书颁发机构。 8. 防火墙或中间人攻击: 解决方法:确保没有防火墙或中间设备在拦截和修改SSL流量。 要解决这个问题,可以尝试以下步骤: 1. 更新系统根证书库 2. 检查服务器证书的有效性 3. 验证客户端和服务器的OpenSSL配置 4. 使用OpenSSL命令行工具进行详细诊断 例如,可以使用以下命令来测试SSL连接: ``` openssl s_client -connect example.com:443 -showcerts ``` 这个命令会显示详细的SSL握手过程和证书信息,有助于进一步诊断问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值