2013-12-09 26 views
0

我正在使用paypal-wps。paypal-wps,獲取私鑰時出錯

在我更改爲商業證書之前,此前曾使用ssl。

我已經重新完成了將我的公共cert.pem文件上傳到PayPal帳戶和沙箱的過程。我下載了他們給我的證書,並將其放在我的服務器上的特殊位置。我有一個Live和Sandbox。我還複製了Live和Sandbox的Cert 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上收到了臭名昭着的「無法解密」消息,但這些錯誤消失了。

我想離開我的私人密鑰世界可讀嗎?這看起來很愚蠢也很危險,所以我懷疑這一點。但是這解釋了我在上次離開我的私人密鑰世界時是「疏忽大意」。

我甚至不會試圖用我的新Certs設置私鑰來測試世界可讀性,因爲那樣我會覺得我需要在公開我的私鑰後重新購買新證書。

希望有人遇到過類似的問題,可以就此提供一些建議。謝謝!

回答

0

好的。這已解決。我錯誤地認爲我需要使用與我的ssl證書相同的密鑰。

我重新創建了專門用於PayPal的新密鑰,現在它再次工作。

我還使用chown將所有權從root:root改爲root:www-data和chmod 440私鑰。我不喜歡這一點,並會進一步研究,但現在正在工作。

+0

我在PayPal的網站上解密仍然存在問題。後續問題可以在這裏看到:http://stackoverflow.com/questions/20483030/paypal-wps-encryption-issue-paypal-error-we-were-unable-to-decrypt-the-certifi – earth2jason