使用PHP openssl进行应用内购买签名验证

前端之家收集整理的这篇文章主要介绍了使用PHP openssl进行应用内购买签名验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
试图遵循应用内的一些安全指南
在这里购买
http://developer.android.com/guide/market/billing/billing_best_practices.html
我正在尝试在服务器上进行签名验证,而不是在
应用自己我最好要使用PHP openssl库和
它看起来像下面的代码应该工作:
$public_key_str = file_get_contents("./pubKey/out");
$public_key_str = trim($public_key_str);
$key = openssl_get_publickey($public_key_str);
if(!$key)
{
echo 'Can\'t get public key';
}
$signature = base64_decode( $signature );
$ok = openssl_verify($data,$signature,$key);
var_dump($ok);

我知道我的签名和公钥是正确的,但$ok是0!签名我试图使用是从应用程序购买捆绑的字符串.猜猜我的密钥是正确的,问题是签名的.当我尝试从base64解码它:openssl enc -base64 -d -in signature -A> signature.bin,我的字符串与base64_decode()相同.有任何想法吗 ?

UPD:我也不太明白我应该以openssl_verify()作为$data传递什么?我的资料如下所示:

$data = '{"nonce":5550262978898439313,"orders":[{"notificationId":"android.test.purchased","orderId":"transactionId.android.test.purchased","packageName":"com.ads.testbilling","productId":"android.test.purchased","purchaseTime":1308224646237,"purchaseState":0}]}';
看看OAuth.PHP我想你可以在googlecode.com上找到它
它使用openssl_verify()我认为他们使用的$数据是一个URL

http://oauth.googlecode.com/svn/code/php/OAuth.php

猜你在找的PHP相关文章