如何使用Ruby验证Android应用内结算?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (55)

我认为Android提供了一个Security.java,它具有某种方法来在物理设备上进行验证。从我的研究看来,要么(1)我需要弄清楚如何使用这个Security.java类与我的Ruby on Rails服务器或(2)我需要将Security.java移植到Ruby。

提问于
用户回答回答于

试试这样

  public_key = Base64.decode64(public_key_b64)
  signature = Base64.decode64(Base64.decode64(signature_b64))
  signed_data = Base64.decode64(signed_data_b64)

  key = OpenSSL::PKey::RSA.new(public_key)
  verified = key.verify(OpenSSL::Digest::SHA1.new, signature, signed_data)
用户回答回答于

可以这样

require 'rubygems'
require 'openssl'
require 'base64'

base64_encoded_public_key = "YOUR KEY HERE"
data = "JSON_DATA_HERE"
sig = "SIGNATURE HERE"

key = OpenSSL::PKey::RSA.new(Base64.decode64(base64_encoded_public_key))

verified = key.verify( OpenSSL::Digest::SHA1.new, Base64.decode64(sig), data )

扫码关注云+社区

领取腾讯云代金券