【问题标题】:Apple Push Notification Service: Certificate Install Server Side?苹果推送通知服务:证书安装服务器端?
【发布时间】:2010-12-10 17:51:14
【问题描述】:

我已按照How to build an Apple Push Notification provider server (tutorial) 的说明尝试设置推送通知服务器。

当我尝试连接以下 PHP 代码时

// connect to apns server
$strAPNSUrl = 'ssl://gateway.sandbox.push.apple.com:2195';
$strAPNSCert = 'dev.pem';

// generate stream
$oStreamContext = stream_context_create();
stream_context_set_option($oStreamContext, 'ssl', 'local_cert', $strAPNSCert);

// create the socket connection
$oAPNS = stream_socket_client($strAPNSUrl, $iError, $strError, 2, STREAM_CLIENT_CONNECT, $oStreamContext);

我收到以下警告

Warning: stream_socket_client() [function.stream-socket-client]: SSL operation failed with code 1. OpenSSL Error messages: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert

根据我在 Google 上找到的信息,问题似乎出在我的证书上。

我正在 OS X 中生成我的 csr 和 pem 文件(根据教程中的说明生成 pem 文件)。创建 dev.pem 后,我会将其上传到我的托管服务提供商并尝试运行我的 php 脚本。这是创建和“安装”证书的正确方法吗?

我已经没有调试的想法了。任何方向都会很棒。

【问题讨论】:

    标签: php certificate apple-push-notifications


    【解决方案1】:

    dev.pem 的路径在我的服务器上不正确。

    说明确实是生成 .pem 文件的正确方法。一旦创建,它就可以在任何机器上使用(不仅仅是生成它的机器)。

    【讨论】:

    • 你有没有发现绝对路径和相对路径之类的问题?
    • 我的实时 .pem 文件的文件名拼写错误。 -.- 一直忽略它,直到我看到这个答案,这让我“仔细”地看着它。
    【解决方案2】:

    您是否能够在您的服务器中使用相同的 .pem 文件?正如你所说......在任何机器上。

    我已按照本教程进行操作,我可以从我的机器发送消息(生成证书的消息),但我尝试复制所有文件并在另一台机器上运行脚本,但我遇到了与您相同的错误.

    你是如何让它在另一台机器上工作的?您是否安装了 .pem 文件?有什么特别的配置吗?

    干杯

    【讨论】:

    • 至于“安装” .pem 文件,我所要做的就是将它复制到我服务器上的本地目录中。问题是我已将我的 php 脚本移动到我保存我的 cron 作业的 cron 目录中,并且无法复制 .pem 文件。一旦我移动了 .pem 文件,一切都很好。我的托管服务提供商正在运行 linux,因此 .pem 文件应该适用于任何平台。
    • 文件权限可能是个问题。我的 .pem 设置为 644。
    • @Jason George 我更改了文件权限,但错误没有改变。我做了几乎和你说的一样的事情。我已经配置了我的机器,经过测试并且一切正常。因此,我尝试复制所有内容并放入我拥有的另一台 mac,但在这台机器上我收到此错误。
    • 在此文档 (developer.apple.com/iphone/library/documentation/…) 中,Apple 表示 .p12 必须安装在新的服务器/机器中。你这样做了还是只复制/粘贴运行。
    • 大家好,我可以找出问题所在.....我的问题是从不同的位置运行脚本。这意味着,我在文件夹 A 中并试图朗读我的脚本,例如 >php -f ../B/apns.php “带有徽章的消息” 4. 当我尝试这样做时 >php -f apns.php “带有徽章的消息”位于文件夹 B 下,它已经开始工作了。
    猜你喜欢
    • 2011-12-03
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多