解决SSL routines:ssl3_get_server_certificate:certificate verify failed

本文涉及的产品
Digicert DV 证书 单域名,20个 3个月
简介: 解决SSL routines:ssl3_get_server_certificate:certificate verify failed

@TOC


问题背景

今天PHP发布通过Composer进行拉取代码依赖包的时候报错了,因为最近代码没有做改动,发布流程也没有做改动,所以分析可能是服务器环境有问题,经过一番排查。找到了原因

产生原因

php中openssl的ssl证书过期了

关于openssl

PHP OpenSSL是一个开源的加密和安全库,它提供了一系列的函数、类和工具,使开发者可以使用各种加密算法和协议来保护敏感数据。

PHP OpenSSL支持许多常见的加密算法,如AES、RSA、DSA、DH等,并提供了诸如数字证书管理、SSL/TLS连接、PKCS#12导入/导出和X.509证书签名/验证等功能,可以实现对双方之间进行加密、签名以及身份验证等复杂的安全操作。PHP OpenSSL非常适合用于开发Web应用程序、电子商务平台以及其他大型系统,它为用户提供了一种可靠的保护机制,防止恶意攻击和数据泄露。

解决方案

  • 先通过命令 php -r "print_r(openssl_get_cert_locations());" 输出目前所用的证书文件。从输出结果中定位到文件位置,即default_cert_file的指向。然后替换掉这个证书。

    cd ~ && wget http://curl.haxx.se/ca/cacert.pem
    
  • 然后用cacert.pem的内容替换default_cert_file所指向的文件内容。

  • 继续编辑php.ini

  • 然后找到openssl.cafile然后指向刚刚下载的文件。

    openssl.cafile ="xxxx/cacert.pem"
    
  • 重启服务这个问题应该就好了。

其他可能的解决方案

这个错误提示是 SSL 握手时服务器证书校验失败所导致的,可能是以下原因:

服务器证书失效或未经受信任的颁发机构签发。
本地 SSL/TLS 客户端未安装正确的根证书。
本地系统时间与服务器时间不同步。
可以按照以下步骤尝试解决该问题:

检查服务器证书是否真实有效,并且是由受信任的颁发机构(CA)签发的。可以使用 OpenSSL 工具进行相关检测。

确认是否安装了正确的根证书。可以尝试手动下载并安装相应的根证书,以确保本地 SSL/TLS 客户端可以正确识别和验证服务器证书。

确认本地系统时间是否与服务器时间同步。如果两者时间不同步,可能会导致 SSL 握手失败。

如果以上步骤都无法解决该问题,建议联系服务器管理员或证书颁发机构寻求进一步帮助。

总结

以上就是routines:ssl3_get_server_certificate:certificate verify failed的解决方案。如果您还没有解决这个问题,可以留言或者私信我讨论哟。

相关实践学习
通过HTTPS加速网关快速部署网站加密
本实验指导您如何在HTTPS加速网关中添加域名,以及在添加域名后如何进行修改和重置。
相关文章
|
5月前
|
网络安全 Python
There was a problem confirming the ssl certificate
There was a problem confirming the ssl certificate
|
网络安全 PHP
cURL error 60: SSL certificate problem: self signed certificate in certificate
一、问题 cURL error 60: SSL certificate problem: self signed certificate in certificate chain - 服务器http302 出现这个一般是自签名证书的问题
2569 0
|
网络安全
ssl.SSLError [SSL CERTIFICATE_VERIFY_FAILED] certificate verify failed
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
172 0
|
网络安全
【IntelliJ IDEA】连接https报错问题: E230001: Server SSL certificate verification failed:
最近新安装了一个2018版本的idea,但是用idea去连接SVN的时候出现了这样的错误,在网上搜了很多,都没有用,最后找到这样的方式,把问题搞定,果断把解决方式记录下,以便帮助更多的人。
247 1
【IntelliJ IDEA】连接https报错问题: E230001: Server SSL certificate verification failed:
|
网络安全 开发工具 git
git SSL certificate problem: unable to get local issuer certificate
git SSL certificate problem: unable to get local issuer certificate
207 1
|
TensorFlow 网络安全 算法框架/工具
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate
最近在学习TensorFlow,获取fashion_mnist数据集的时候出现了一点小问题,报错内容如下: URL fetch failure on https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz: None -- [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108) ————————————————
1017 0
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate
|
网络安全 PHP
【微信公众号】获取用户信息cURL error 60: SSL certificate: unable to get local issuer certificate
【微信公众号】获取用户信息cURL error 60: SSL certificate: unable to get local issuer certificate
160 0
|
网络安全
curl error: SSL certificate problem: unable to get local issuer certificate解决方案
curl error: SSL certificate problem: unable to get local issuer certificate解决方案
316 0
|
安全 网络安全 数据安全/隐私保护
Python:urllib2.URLError urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
Python:urllib2.URLError urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
448 0
Python:urllib2.URLError urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed