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}]}';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值