Jrxades

Jrxades es una gema JRuby que permite firmar un documento xml con un certificado .p12, Esta gema ha sido creada para la Facturación Electrónica que se usa en Ecuador, sin embargo se basa en las especificaciones definidas en XADES_BES lo que permitiría ser usada en otros ambientes que requieran XADES_BES.

Instalación

Agregar esta linea al archivo Gemfile

gem 'jrxades'

Luego ejecutar:

$ bundle

O instalar la gema manualmente:

$ gem install jrxades

Como se usa

Solo llamar directamente al metodo de la siguiente forma

Si el certificado tiene contraseña usar:

xml_sig = Jrxs::XmlSig.new(input_xml_file_path, output_xml_file_path, certificate_file_path, certificate_password)

Si el certificado no tiene contraseña, la contraseña es opcional.

xml_sig = Jrxs::XmlSig.new(input_xml_file_path, output_xml_file_path, certificate_file_path)

Esta gema tiene los siguíentes métodos

key_data_valid?

Verifica si un certificado p12 es válido

xml_sig.key_data_valid?

sign

Firma el archivo xml, y creara un archivo de salida en el directorio previamente estaablecido.

xml_sig.sign

Créditos

Esta gema es solo hace referencias a las clases creadas por Cristhian Carreño, quien expone en el siguiente tutorial como firmar un documento.

http://webcarreno.org/index.php/tutorials/28-sri-tutorial/24-sri-firma-digital-xades-bes

Para contribuir

Clonar el repositorio

$ git clone https://bitbucket.org/joselo/jrxades

Instalar JRuby

$ cd jrxades

Instalar bundler

$ gem install bundler

Ejecturar los tests.

$ rspec .