gpt4 book ai didi

php - 如何使用 TLS 和 PHP 发送 iOS 推送通知?

转载 作者:可可西里 更新时间:2023-11-01 13:22:46 24 4
gpt4 key购买 nike

我的应用程序仍在开发中,我使用本教程使用 PHP 和 SSL 发送 iOS 推送通知。

http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1

它工作正常,但最近贬值了,因为 Apple 最近决定放弃 SSL,这会立即影响所有开发中的应用程序,而生产中的应用程序必须在 10 月 29 日之前更改其代码。

我想知道如何使用 TLS 而不是 SSL 来做同样的事情。

这是我以前工作的 php 的样子:

$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
$fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

我尝试按照 Apple 的建议添加 Entrust 证书:

$ctx = stream_context_create();
stream_context_set_option($ctx, 'tls', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'tls', 'passphrase', $passphrase);
stream_context_set_option($ctx, 'tls', 'cafile', 'entrust_2048_ca.cer');
$fp = stream_socket_client('tls://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

但是还是不行。您有任何修复建议吗?

最佳答案

$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
stream_context_set_option($ctx, 'ssl', 'cafile', 'entrust_2048_ca.cer');
$fp = stream_socket_client('tls://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

如果您在本地主机环境中工作,请不要忘记下载认证文件 entrust_2048_ca.cer

关于php - 如何使用 TLS 和 PHP 发送 iOS 推送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26577852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com