我想知道是否有人有任何关于如何解决这个问题的文献的链接。
我从Android电子市场收到两组数据; “签名数据”,购买的JSON表示,以及“签名”,Base64编码,加密的签名数据表示。
我认为重点是使用公钥加密签名数据并将其与签名进行比较?
到目前为止,我的策略如下:
1)Base64解码公钥并使用OpenSSL :: PKey :: RSA.new创建公钥对象
2)Base64解码从Android返回的签名
3)使用公钥加密签名数据并与签名进行比较
在Ruby中执行此操作的正确方法是什么?
答案 0 :(得分:0)
这是答案: How do I verify Android In-app Billing with a server with Ruby?
在第一步中创建的公钥对象有一个方便的verify
方法,用于将步骤2中的Base64解码数据与签名数据进行比较。
verified = key.verify(OpenSSL::Digest::SHA1.new, Base64.decode64(signature), signed_data)
幸福。