SSL 证书更新,后应用报错

我遇到的问题是远程的接口证书更新了。
本地的缓存没有更新过来。
试了许多办法,没有解决。
最后,时间紧,在PHP代码上,对 curl 进行了操作绕过证书验证了。


使用CURL请求HTTPS地址时报: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed


今天发现在使用亚马逊mws 的 SubmitFeed 接口做上传更新动作时发现程序返回报错:


error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed


查询后发现原来是亚马逊mws服务器的SSL安全证书更新了,需要我们这边来更新ssl判别证书,更新之后问题解决。


在这边记录一下更新方式作为备录:


1、下载新的ssl本地的判别证书:
       wget http://curl.haxx.se/ca/cacert.pem


2、更名为ca-bundle.crt放置到默认目录,替换旧的证书:
   mv cacert.pem ca-bundle.crt
   mv ca-bundle.crt /etc/pki/tls/certs/

   

----------------

另一种办法:

openssl ca -config /etc/openssl.cnf -policy policy_anything -out newcert.pem -infiles newreq.pem -startdate [now] -enddate [previous enddate+365days]


用正确的时间替换 [now]和[previous enddate+365days]。


5 证书的更新
当用户发送他旧的证书证书或要在原有私钥的基础上建新的证书,所以必须吊消旧的证书然后再签发新的证书。要找到证书,可以用户的DN(区别名)在 index.txt文件中查到序列号xx,用cert/.pem做为证书吊消的依据。你必须手动签发证书,因为开始时间和结束时间以 便确定新证书的有效性。

-----------------

参考:
http://blog.hillghost.info/post/54088559447/curl-https-error-14090086-ssl


http://wiki.ubuntu.org.cn/Openssl%E8%AF%81%E4%B9%A6%E7%AE%A1%E7%90%86

你可能感兴趣的:(GNU/Linux,PHP)