paypal-wps,获取私钥时出错

时间:2013-12-09 11:26:57

标签: paypal

我正在使用paypal-wps。

在我转换为商业证书之前,我之前使用过ssl。

我重新完成了将公共cert.pem文件上传到PayPal的实时帐户和沙箱的过程。我下载了他们给我的证书,并把它放在我自己特殊位置的服务器上。 Live和Sandbox都有一个。我还复制了Live和Sandbox的Cert Ids。

然而,现在我收到的错误如下:

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上得到了臭名昭着的“无法解密”消息。

我想我的私钥世界是否可读?这看起来很愚蠢也很危险,所以我对此表示怀疑。但这解释了我上次让我的私钥世界可读时“疏忽”。

我甚至不打算尝试使用我的新Certs将私钥设置为世界可读,因为我觉得在暴露我的私钥后我需要重新购买新证书。

希望遇到类似问题的人可以就此事提供一些建议。谢谢!

1 个答案:

答案 0 :(得分:0)

好。这已经解决了。我错误地认为我需要使用与我的ssl证书相同的密钥。

我专门为PayPal重新创建了新密钥,现在又重新开始了。

我还使用chown从root更改所有权:root到root:私钥上的www-data和chmod 440。我不喜欢这样,并会进一步研究它,但它现在正在发挥作用。