我有一個xml文件和一個GPG簽名,它位於<SIGNATURE>
標記中。發送XML文件包含使用PHP + cURL的gpg簽名
這裏是XML:
$xml = "<DATA>
....
<SIGNATURE>-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
-----END PGP SIGNATURE-----
</SIGNATURE>
</DATA>";
當我把這個XML用Perl的響應是確定和遠程主機接受簽名。
但是,如果我發送這個XML與PHP和cURL,遠程服務器將解僱簽名。
下一個模塊在perl腳本中使用:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_RETURNTRANSFER ,1);
我想有一個與捲曲問題....可能是一個捲曲設置:use URI(); use GnuPG qw(:algo); use LWP::UserAgent(); use IO::Socket::SSL;
下一頁捲曲選項在PHP腳本設置錯過了,但我不知道是哪一個。我試過urlencode
,qoutemeta
php函數爲$xml
字符串,但沒有結果。
我試着用fsockopen方法發送xml,但結果是一樣的:遠程服務器關閉簽名,所以它不是捲曲問題。 – user1041503