Safari推送通知证书问题

时间:2016-02-16 12:14:41

标签: php ssl safari

我有一个网站,它使用safari浏览器的推送通知。直到最近我开始收到一条消息说

时它工作正常
  

推送包的签名验证失败

我认为它与最近的Apple WWDRCA证书过期有关,现在正在尝试将新证书安装到系统中。他们的文档说

  

如果您使用openssl_pkcs7_sign函数仅使用Web推送证书对推送包进行签名,则应将路径传递给额外证书参数的续订中间件。

所以我的问题是如何告诉这个函数使用这个新证书,另一个,我应该将他们的证书安装到运行Apache的linux系统中。我不确定我是否安装了以前的证书。 谢谢

1 个答案:

答案 0 :(得分:6)

谢谢大家,

设法通过添加Apple WWDRCA新证书作为openssl_pkcs7_sign的最后一个参数来解决问题

openssl_pkcs7_sign("$package_dir/manifest.json", $signature_path, $cert_data, $private_key, array(), PKCS7_BINARY | PKCS7_DETACHED,"/path/to/certificate/AppleWWDRCA.pem");

无需额外工作。请注意,必须手动将文件从.cer转换为.pem。

我认为应该更清楚地在文档的某处指出这一点。