我有一个网站,它使用safari浏览器的推送通知。直到最近我开始收到一条消息说
时它工作正常推送包的签名验证失败
我认为它与最近的Apple WWDRCA证书过期有关,现在正在尝试将新证书安装到系统中。他们的文档说
如果您使用openssl_pkcs7_sign函数仅使用Web推送证书对推送包进行签名,则应将路径传递给额外证书参数的续订中间件。
所以我的问题是如何告诉这个函数使用这个新证书,另一个,我应该将他们的证书安装到运行Apache的linux系统中。我不确定我是否安装了以前的证书。 谢谢
答案 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。
我认为应该更清楚地在文档的某处指出这一点。