如何测试APNS p12证书环境ruby?

时间:2015-07-27 10:41:23

标签: ruby-on-rails ruby security apple-push-notifications ssl-certificate

我正在开发用于发送推送通知的服务,但我无法判断上传的apns证书p12是来自沙箱还是生产。我想测试一下,以避免在上传证书时出现人为错误。

2 个答案:

答案 0 :(得分:1)

颁发的证书的通用名称告诉您它是来自沙箱还是生产。

制作示例: Apple Production IOS推送服务:your.app.identifier

我的红宝石技能有点生疏但是应该这样做:

require 'openssl'
raw_cert = OpenSSL::PKCS12.new(File.read(path_to_your_cert), your_pwd) # If you want to read a .p12 cert

cert = OpenSSL::X509::Certificate.new(raw_cert)
cert.subject.start_with?("Apple Production IOS")

另见:http://ruby-doc.org/stdlib-2.0.0/libdoc/openssl/rdoc/OpenSSL/X509/Certificate.html

答案 1 :(得分:1)

我对muenzpraeger建议的代码做了一些更改。

require 'openssl'

# If you want to read a .p12 cert

raw_cert = OpenSSL::PKCS12.new(File.read(path_to_your_cert), your_pwd) 

OpenSSL::X509::Certificate.new(raw_cert).subject.to_s.include? "Apple Production"