【发布时间】:2013-12-26 11:49:27
【问题描述】:
我正在使用 paypal-wps。
在我转换为商业证书之前,这之前使用的是 ssl。
我重新完成了将我的公共 cert.pem 文件上传到真实账户和沙盒的过程。我下载了他们给我的证书,并将其放在我的服务器上自己的特殊位置。我有一个用于 Live 和 Sandbox。我还复制了 Live 和 Sandbox 的证书 ID。
但是,现在我收到如下错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined index: encrypted_data
Filename: paypal_integration/paypal-wps_helper.php
Line Number: 206
当我从 signAndEncrypt 函数(PPCrypto 文件)内的 openssl_pkcs7_sign(...) 函数中删除“@”字符时,我也在上面显示的错误之前收到此错误:
Severity: Warning
Message: openssl_pkcs7_sign(): error getting private key
Filename: paypal_integration/PPCrypto.php
Line Number: 42
现在,我记得看到我的旧私钥(在切换到商业证书之前)并且它的权限设置为世界可读,我想知道我是如何让这种情况发生的。但是,我决定尝试将我的证书恢复为那些旧证书(非商业),但仍然收到上述错误。然后我尝试将私钥设置回世界可读,尽管我在 PayPal 收到了臭名昭著的“无法解密”消息,但这些错误消失了。
我是否应该让我的私钥世界可读?这看起来很愚蠢也很危险,所以我对此表示怀疑。但这解释了我上次在让我的私钥世界可读时是如何“疏忽”的。
我什至不会尝试使用我的新证书进行测试,将私钥设置为全球可读,因为那样我会觉得在暴露我的私钥后我需要重新购买新证书。
希望遇到过类似问题的人可以就此事提供一些建议。谢谢!
【问题讨论】:
标签: paypal