当前位置:  开发笔记 > 编程语言 > 正文

如何将证书颁发机构添加到PHP,以便file()函数信任由它签名的证书?

如何解决《如何将证书颁发机构添加到PHP,以便file()函数信任由它签名的证书?》经验,为你挑选了1个好方法。

我需要打开由私人公司的证书颁发机构签名的远程资源。目前,PHP无法打开资源,因为它不信任证书签名者。

我知道您可以使用流上下文对象来执行证书,但是我正在寻找一种方法来为PHP提供新的证书颁发机构的公钥,并让file()和类似的方法信任由该证书颁发机构签名的远程证书,而不必创建流每次的情况

有没有一种方法可以向php.ini中添加新的证书颁发机构?我尝试将CA的公钥添加到/etc/ssl/certs/,但似乎无法识别。



1> Nick..:

Curl使用单个文件,其中包含所有CA。要将新的CA添加到Curl / PHP,您需要获得完整的捆绑软件,将证书添加到捆绑软件,然后告诉PHP使用自定义捆绑软件。

    从CURL下载最新的捆绑包并将其保存到/etc/ssl/certs/cacert.pem

curl --remote-name --time-cond cacert.pem https://curl.haxx.se/ca/cacert.pem

    编辑/etc/ssl/certs/cacert.pem文件,然后将新的CA公共密钥添加到底部。

    编辑php.ini该行并将其添加openssl.cafile=/etc/ssl/certs/cacert.pem到顶部(或底部)。

    重新启动Web服务器。

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有