Entradas

馃捈 Servicio de Firma XML para Documentos Tributarios desde cualquier lenguaje (Go, Java, VB6, etc.)

  EGGA INFORMATICA E.I.R.L ofrece un servicio un servicio REST confiable y compatible con SII para la firma digital de documentos XML , ideal para integrarse f谩cilmente desde cualquier lenguaje de programaci贸n (Java, Go, PHP, Python, VB6, etc). 馃挷 Plan de Licencia Servicio de Firma XML : 馃攼 11,5 UF + IVA (pago 煤nico) Incluye entrega del servicio en endpoint REST, documentaci贸n t茅cnica, y pruebas de funcionamiento. Asesor铆a T茅cnica para la implementaci贸n : 馃懆‍馃捇 1 UF + IVA por hora Aplica si necesitas ayuda para generar correctamente los XML, integrarte con el servicio, o adaptar tu sistema. 馃搶 Caracter铆sticas del Servicio Firma compatible con el formato requerido por el SII. Certificados digitales en formato .pfx . Firma tipo enveloped, compatible con documentos de tipo DTE (facturas, boletas, etc.). Servicio portable y sin amarre tecnol贸gico (puede instalarse en tu propio servidor). 馃殌 ¿C贸mo se utiliza? El servicio se invoca mediante una llamada POS...

馃攼 Obtener la Semilla (Seed) del SII usando Bash y Curl

En Chile, uno de los pasos fundamentales para firmar documentos electr贸nicos con el SII es obtener la "semilla" (seed) . Este valor es necesario para solicitar el token de autenticaci贸n , el cual luego se usa para enviar documentos tributarios (DTE). En esta entrada te muestro c贸mo invocar el m茅todo SOAP getSeed del SII directamente desde un script en Bash, usando herramientas simples como curl y sed . 馃Ь El script completo: -- #!/bin/bash # Endpoint del servicio URL="https://maullin.sii.cl/DTEWS/CrSeed.jws" # SOAP Body del m茅todo getSeed SOAP_REQUEST='<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://www.sii.cl/SiiDte"> <soapenv:Header/> <soapenv:Body> <ws:getSeed/> </soapenv:Body> </soapenv:Envelope>' # Enviar la solicitud con curl RESPONSE=$(curl -s -X ...

馃摛 Subiendo un DTE al SII desde Bash usando curl

Cuando trabajamos con facturaci贸n electr贸nica en Chile, uno de los pasos clave es la carga del documento tributario electr贸nico (DTE) al sistema del Servicio de Impuestos Internos (SII) . Aunque muchos desarrolladores usan bibliotecas en Java, Python o Ruby, tambi茅n es posible realizar esta operaci贸n directamente desde un script Bash usando curl . 馃懘 Ideal para entornos legacy Este enfoque es especialmente 煤til para desarrolladores que usan tecnolog铆as antiguas como: Visual Basic 6.0 FoxPro Delphi Aplicaciones heredadas que no cuentan con librer铆as modernas para HTTP o multipart/form-data Estas plataformas pueden delegar la carga del DTE a un script externo en Bash, o llamar al comando curl desde l铆nea de comandos, facilitando la integraci贸n sin tener que portar toda la l贸gica de comunicaci贸n. A continuaci贸n, te muestro c贸mo hacerlo paso a paso: 馃洜️ Script Bash para subir un DTE #!/bin/bash TOKEN="F4SZQLTL09LUH" # Token entregado po...

USANDO XMLSEC PARA FIRMAR ARCHIVOS XML

Firmar un documento XML es una tarea com煤n en procesos que requieren autenticidad e integridad, como la generaci贸n de DTE (Documento Tributario Electr贸nico). Para esto, podemos usar la utilidad xmlsec , una herramienta disponible en sistemas Unix y tambi茅n en Windows (versiones de 32 y 64 bits). 馃洜 Instalaci贸n de xmlsec1 Para firmar archivos XML desde la l铆nea de comandos, utilizamos la herramienta xmlsec1 . Esta utilidad est谩 disponible en la mayor铆a de los sistemas operativos, tanto en entornos Unix como en Windows. 馃惂 En Linux (Debian/Ubuntu): sudo apt update sudo apt install xmlsec1 馃惂 En Fedora o derivados: sudo dnf install xmlsec1 馃崗 En macOS (usando Homebrew): brew install libxmlsec1 馃悮 En sistemas Unix tipo BSD (FreeBSD, OpenBSD, etc.): En FreeBSD , puedes instalarlo usando el sistema de ports o mediante paquetes binarios: Desde ports: cd /usr/ports/security/xmlsec1 make install clean O desde pkg: pkg install xmlsec1 馃獰 En Windows: Puedes descargar las versio...

馃攼 ¿Cu谩l es el riesgo real de usar SHA-1 en una factura electr贸nica?

Muy bajo. Te explico por qu茅: ✅ 1. El contexto es distinto al de un sistema bancario o confidencial La factura electr贸nica: No contiene secretos militares ni credenciales bancarias. Va firmada principalmente para garantizar integridad, autenticidad y no repudio. Su uso est谩 regulado y supervisado por el SII , que valida y almacena los documentos. ✅ 2. Ya hay m煤ltiples capas de validaci贸n: Firma del emisor (firma del XML). Validaciones cruzadas v铆a trackid y timbre electr贸nico. ✅ 3. SHA-1 es usado solo porque el validador lo exige No est谩s implementando SHA-1 por elecci贸n ni como pr谩ctica insegura. Lo usas porque el validador del SII lo requiere expl铆citamente en su especificaci贸n. Ruby y Python modernos lo bloquean por defecto . Pero Java, bien configurado, puede seguir cumpliendo con esta exigencia sin comprometer todo el sistema. ✅ 4. El inter茅s de “hackear” facturas es m铆nimo ¿Qui茅n querr铆a falsificar una factura electr贸nica si la verifica...

Criptograf铆a en Ruby: Desventajas frente a Java y .NET

Aunque Ruby es un lenguaje expresivo y productivo, especialmente popular en el desarrollo web con Ruby on Rails, presenta desventajas claras frente a plataformas como Java y .NET cuando se trata de implementar soluciones criptogr谩ficas complejas.  1.  Enfoque del lenguaje y comunidad Ruby ha sido hist贸ricamente popular para desarrollo web (especialmente con Rails), automatizaci贸n y scripting, no tanto para sistemas de bajo nivel, criptograf铆a o aplicaciones de misi贸n cr铆tica donde el rendimiento criptogr谩fico es clave. Java y .NET, en cambio, han sido usados m谩s extensivamente en entornos corporativos donde la criptograf铆a es un requerimiento com煤n (banca, firmas digitales, etc.). 馃攼 2.  Bibliotecas disponibles en Ruby Aunque no son tan completas como las de Java/.NET, s铆 existen bibliotecas para tareas criptogr谩ficas b谩sicas: OpenSSL : Ruby incluye bindings a la biblioteca OpenSSL, lo que permite trabajar con cifrado sim茅trico, asim茅trico, firmas, certificados, etc. RbN...

EJEMPLO CALCULO DE TIMBRE ELECTR脫NICO CON RUBY

Mensaje a Firmar <DD><RE>97975000-5</RE><TD>33</TD><F>27</F><FE>2003-09-08</FE> <RR>8414240-9</RR><RSR>JORGE GONZALEZ LTDA</RSR><MNT>502946</M NT><IT1>Cajon AFECTO</IT1><CAF version="1.0"><DA><RE>97975000- 5</RE><RS>RUT DE PRUEBA</RS><TD>33</TD><RNG><D>1</D><H>200</H> </RNG><FA>2003-09-04</FA><RSAPK><M>0a4O6Kbx8Qj3K4iWSP4w7KneZYe J+g/prihYtIEolKt3cykSxl1zO8vSXu397QhTmsX7SBEudTUx++2zDXBhZw==< /M><E>Aw==</E></RSAPK><IDK>100</IDK></DA><FRMA algoritmo="SHA1 withRSA">g1AQX0sy8NJugX52k2hTJEZAE9Cuul6pqYBdFxj1N17umW7zG/hAa vCALKByHzdYAfZ3LhGTXCai5zNxOo4lDQ==</FRMA></CAF><TSTED>2003-09 -08T12:28:31</TSTED></DD> Clave RSA Privada obtenida del CAF -----BEGIN RSA PRIVATE KEY----- MIIBOwIBAA...