class Crusade::APNS::SignatureGenerator
Constants
- FLAG
Attributes
configuration[RW]
Public Class Methods
new(configuration)
click to toggle source
# File lib/crusade/apns/push_package/signature_generator.rb, line 9 def initialize configuration self.configuration = configuration end
Public Instance Methods
sign(manifest)
click to toggle source
# File lib/crusade/apns/push_package/signature_generator.rb, line 13 def sign manifest dir = File.dirname manifest signature_file = File.join(dir, 'signature') File.open(signature_file, 'wb') do |file| file.write generate_signature manifest end end
Private Instance Methods
certificate()
click to toggle source
# File lib/crusade/apns/push_package/signature_generator.rb, line 36 def certificate crt = OpenSSL::PKCS12.new(File.read(configuration.certificate), certificate_password) end
certificate_password()
click to toggle source
# File lib/crusade/apns/push_package/signature_generator.rb, line 40 def certificate_password configuration.certificate_password end
generate_signature(manifest)
click to toggle source
# File lib/crusade/apns/push_package/signature_generator.rb, line 26 def generate_signature manifest crt = certificate signature = OpenSSL::PKCS7::sign(crt.certificate, crt.key, File.read(manifest), [], FLAG ) signature = signature.to_s.split("\n") signature = signature[1..signature.length-2].join("\n") Base64.decode64 signature.to_s end