Desde hace un tiempo, quería emitir facturas electrónicas, el otro día entré al sitio del S.R.I y observé que publicaron el aplicativo para emitir comprobantes electrónicos para Linux.
Lo primero es instalar java en el Linux, para eso:
#dnf -y install java-1.8.0-openjdk
Luego nos descargamos del sitio del S.R.I, el aplicativo (https://www.sri.gob.ec/web/guest/10117), nos descargamos la versión para Linux. El instalador es un .jar, para ejecutarlo lo hacemos de la siguiente manera:
#java -jar comprobantesElectronicos.jar
Seguimos el asistente de instalación y listo!.
Para ejecutar el prorgama, deben saber el directorio donde se instaló el programa, en mi caso lo hizo en /usr/local/ComprobatesElectronicos. Lo ejecutamos de la siguiente manera:
#java -jar /usr/local/ComprobantesElectronicos/ComprobantesDesktop.jar
Luego de configurar el programa, todo funcionaba sin problemas a excepción del envío de comprobantes para su respectiva autorización, revisando los errores tenía esto:
java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
Consultando el problema es que el aplicativo no reconocía el certificado digital donde está alojado el web service que es https://cel.sri.gob.ec
La solución es importando el certificado y ponerlo en los certificados del aplicativo, de la siguiente manera:
1.- Guardamos el certificado entrando con un navegador y exportando el certificado digital:
Le dan click derecho en el candado y en conexión le dan la opción «datos del certificado», luego exportar y seleccionamos el destino del archivo.
2.- Importamos el certificado de la siguiente manera:
#keytool -import -keystore «/usr/local/ComprobantesElectronicos/resources/jssecacerts» -file Escritorio/cel.sri.gob.ec -alias CA_SRI -storepass changeit
Lo pintado con azul, representa la ruta en donde se encuentra el archivo jssecacerts, el cual tiene los certificados y a donde queremos importar.
Lo pintado con tomate, es la ruta del archivo que contiene el certificado copiado desde el sitio web del sri.
Listo!!
Todo funciona ahora muy bien.
Nota: El aplicativo funciona con todas sus opciones, a excepción de la firma electrónica, la cual se requiere los drivers para Linux. (Revisar documentación del SRI).