苹果推送通知服务

我试图使用本地Mac机器运行,但出现以下错误

Warning: stream_socket_client() [function.stream-socket-client]: Unable to set private key file `/Applications/XAMPP/xamppfiles/htdocs/apns/apns-dev.pem’ in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9

Warning: stream_socket_client() [function.stream-socket-client]: failed to create an SSL handle in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9

Warning: stream_socket_client() [function.stream-socket-client]: Failed to enable crypto in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9

Warning: stream_socket_client() [function.stream-socket-client]: unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9

Warning: socket_close() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 11

Warning: fclose() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 12

我得到了从其他机器生成的PEM证书,

所以我完全不知道我现在要做什么。

请让我知道我需要做什么才能在本地主机中运行它


答案 1

我认为您可能已经导出了证书,但尚未从Apple提供的.cer文件中导出私钥。

这些来自markbates的说明可能会有所帮助:

从 Apple 获得应用程序的证书后,将密钥和 Apple 证书导出为 p12 文件。下面是有关如何执行此操作的快速演练:

  1. 在“钥匙串访问”中点按证书旁边的显示箭头,然后选择证书和密钥。
  2. 右键单击并选择 。Export 2 items…
  3. 从下拉列表中选择 p12 格式并将其命名为 。cert.p12

现在将 p12 文件隐藏为 pem 文件:

$ openssl pkcs12 -in cert.p12 -out apple_push_notification_production.pem -nodes -clcerts

答案 2

推荐