class SwFac::Config
Attributes
cadena[R]
dev_token[RW]
doc_cer_path[RW]
doc_key_path[RW]
key_pass[R]
pem[R]
pem_cadena[R]
production_token[RW]
serial[R]
Public Class Methods
new(production_token, development_token, rfc, razon, regimen, doc_key_path, key_pass, doc_cer_path, production=false)
click to toggle source
# File lib/sw_fac/config.rb, line 6 def initialize(production_token, development_token, rfc, razon, regimen, doc_key_path, key_pass, doc_cer_path, production=false) @production_token = production_token.to_s @dev_token = development_token.to_s @rfc = rfc.to_s @razon = razon.to_s @regimen_fiscal = regimen @doc_key_path = doc_key_path.to_s @key_pass = key_pass.to_s @doc_cer_path = doc_cer_path @production = production key_to_pem serial_number cer_cadena end
Public Instance Methods
cer_cadena()
click to toggle source
# File lib/sw_fac/config.rb, line 46 def cer_cadena file = File.read(@doc_cer_path) text_certificate = OpenSSL::X509::Certificate.new(file) cert_string = text_certificate.to_s cert_string.slice!("-----BEGIN CERTIFICATE-----") cert_string.slice!("-----END CERTIFICATE-----") cert_string.delete!("\n") @cadena = cert_string end
key_to_pem()
click to toggle source
# File lib/sw_fac/config.rb, line 23 def key_to_pem @pem = %x[openssl pkcs8 -inform DER -in #{@doc_key_path} -passin pass:#{@key_pass}] @pem_cadena = @pem.clone @pem_cadena.slice!("-----BEGIN PRIVATE KEY-----") @pem_cadena.slice!("-----END PRIVATE KEY-----") @pem_cadena.delete!("\n") end
serial_number()
click to toggle source
# File lib/sw_fac/config.rb, line 31 def serial_number response = %x[openssl x509 -inform DER -in #{@doc_cer_path} -noout -serial] d_begin = response.index(/\d/) number = (response[d_begin..-1]).chomp final_serial = "" number.each_char.with_index do |s, index| if (index + 1).even? final_serial << s end end @serial = final_serial end