我在开发端创建ck.pem文件后实现了push通知。但是当我在分发结束时创建然后我们检查ck.pem文件是否正确。我有错误显示如下: -
pksinghs-Mac-mini:SchoolPush pksingh $ php /Users/pksingh/Desktop/SchoolPush/simplepush.php
警告:stream_socket_client():SSL操作失败,代码为1. OpenSSL错误消息: 错误:14094416:SSL例程:SSL3_READ_BYTES:第21行/Users/pksingh/Desktop/SchoolPush/simplepush.php中的sslv3警报证书未知
警告:stream_socket_client():无法在第21行的/Users/pksingh/Desktop/SchoolPush/simplepush.php中启用加密
警告:stream_socket_client():无法连接到第21行的/Users/pksingh/Desktop/SchoolPush/simplepush.php中的ssl://gateway.push.apple.com:2195(未知错误) 连接失败:0 pksinghs-Mac-mini:SchoolPush pksingh $
我在桌面上的同一个文件夹中有ck.pem文件和pushnofication.php。 任何人都可以帮助我。
答案 0 :(得分:0)
查找如何创建证书并从以下链接实施通知的教程
https://www.raywenderlich.com/123862/push-notifications-tutorial
您可以使用以下命令创建证书
因此创建分发证书时出现了问题
使用以下命令创建证书
openssl x509 -in aps_production.cer -inform der -out PushChatCert.pem
openssl pkcs12 -nocerts -out PushChatKey.pem -in Certificates_dist.p12
cat PushChatCert.pem PushChatKey.pem> ck_dist.pem
openssl s_client -connect gateway.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem
其中
aps_production.cer =从开发者Apple下载
Certificates_dist.p12 =安装aps_production.cer后从钥匙串导出