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

在PHP中使用ssl cert时出错

如何解决《在PHP中使用sslcert时出错》经验,为你挑选了2个好方法。

我是php的新手,我在尝试加载证书时遇到此错误

jameys-macbookpro41:~ user$ php -f ~/Sites/providerService.php

警告:stream_socket_client():无法设置本地证书链文件`cert.pem'; 在第27行的/Users/jamey/Sites/providerService.php中检查您的cafile/capath设置是否包含证书及其颁发者的详细信息

cert.pem与php文件位于同一文件夹中.文件cert.pem是在Apple钥匙串工具中创建的

class pushNotifications {
...
     private $sslPem = 'cert.pem';
...
     function connectToAPNS(){
          $streamContext = stream_context_create();
          stream_context_set_option($streamContext, 'ssl', 
             'local_cert', $this->sslPem);

谢谢你的帮助!



1> Jordan S. Jo..:

您收到错误是因为它试图在您运行脚本的目录中找到cert.pem文件,而不是脚本所在的目录.在您的示例中,它是您的用户目录"〜".

尝试将您的课程更改为此类或类似内容:

class pushNotifications {
...
     private $sslPem = 'cert.pem';
...
     function connectToAPNS(){
          $streamContext = stream_context_create();
          stream_context_set_option($streamContext, 'ssl', 'local_cert', dirname(__FILE__) . '/' . $this->sslPem);



2> sluther..:

我也有这个问题,事实证明,由于某些原因,我的私钥与aps_developer_identity.cer关联的私钥不匹配我...

我最终从我的"登录"钥匙串项目中清除了所有公钥和私钥,然后我重新开始整个过程​​(生成请求)...我在程序门户上提交了新请求文件并生成了新证书双击它(developer_identity.cer),下载并安装它.然后,我重置配置文件以使用新的Push SSL证书,下载这些证书,然后通过双击(aps_developer_identity.cer)安装它们.最后,我重置了配置文件并下载了新配置文件.我在Xcode Organizer中清除了旧的,并安装了新的.最后,我将'private'键作为key.p12导出,将我的aps_developer_identity.cer导出为apsdi.p12,并对它们运行以下命令:

openssl pkcs12 -clcerts -nokeys -out apsdi.pem -in apsdi.p12
openssl pkcs12 -nocerts -out key.pem -in key.p12

如果你可以使用密码短语(推荐用于制作):

cat apsdi.pem key.pem > cert.pem

如果您希望使用"空白"密码短语,则需要首先使用在将其转换为pem格式时指定的密码来解密您的私钥:

openssl rsa -in key.pem -out key.unencrypted.pem

然后将证书和未加密密钥插入apns.pem(或您选择的任何文件名):

cat apsdi.pem key.unencrypted.pem > apns.pem

导出aps_developer_identity证书非常重要,而不是像apsdi.pem那样导出developer_identity证书.

如果您可以在Keychain Access中扩展developer_identity.cer和aps_developer_identity.cer条目,并且在执行操作时看到"私有"密钥,则一切都应该有效.

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