/nfe-signer

Assinador de Nota Fiscal Eletronica em ruby.

Primary LanguageRubyMIT LicenseMIT

NFe Signer

Build Status

Assinador de Nota Fiscal Eletronica em ruby.

Versões suportadas

  • Ruby 1.9.3
  • Ruby 2.0.x
  • Ruby 2.3.x
  • Ruby 2.4.0

Install

Se você estiver usando o Bundler, basta colocar essa linha no seu Gemfile:

gem 'nfe-signer'

Em seguida, execute o comando bundle install:

bundle

Caso contrário, você ainda pode executar um método de instalação padrão de gem:

gem install nfe-signer

Exemplo de Uso

Primeiro você deve obter a chave privada e o certificado:

key = OpenSSL::PKey::RSA.new(File.read("key.pem"))
cert = OpenSSL::X509::Certificate.new(File.read("cert.pem"))

Para carregar o xml a partir de um arquivo:

doc = File.open("Nfe.xml") { |f| Nfe::Signer(f) }

Para carregar o xml a partir de uma string:

xml = %{
  <NFe xmlns="http://www.portalfiscal.inf.br/nfe">
    <infNFe Id='NFe35170101508376000174550010000000011000203062" versao="3.10">
    ...
    </infNFe>
  </NFe>  
}

doc = Nfe::Signer(xml)

Para Assinar basta chamar o método sign! passando a chave privada e o certificado. Para obter a string com o xml assinado basta executar o metódo to_xml.

doc.sign!(key, cert)
doc.to_xml

Contribuidores

Copyright

Copyright (c) 2017 NFe Geral. Leia LICENSE para mais detalhes.