【发布时间】:2014-12-22 01:24:13
【问题描述】:
我的应用仍在开发中,我使用本教程使用 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);
但它仍然不起作用。你有什么建议可以解决吗?
【问题讨论】:
标签: php ssl notifications push