Entradas

Mostrando entradas de mayo, 2025

馃攼 ¿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...

CALCULO DE TIMBRE ELECTR脫NICO OPENSSL

Ejemplo del SII El SII en su documento Manual de Certificaci贸n Titulo : TIMBRE ELECTRONICO DE EJEMPLO pagina: 25 Descargar Manual Certificaci贸n SII Del XML indicado se arma el string que ser谩 firmado (Mensaje) Mensaje= <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/...

Restricciones de soporte a otras herramientas y APIs de Facturaci贸n Electr贸nica

En estos d铆as he estado recibiendo mensajer铆a relacionada con soporte en facturaci贸n electr贸nica implementada en otras herramientas y lenguajes de programaci贸n. Sin embargo, por temas de tiempo y la inviabilidad de involucrarme en esos desarrollos, he decidido rechazarlos. S贸lo complementar茅 dichos desarrollos si se adquieren mis servicios de forma formal o si se me otorga la libertad de implementar las secciones necesarias en el lenguaje y entorno que yo considere m谩s adecuado. De lo contrario, no podr茅 brindar soporte t茅cnico. Mi enfoque actual est谩 en mantener y mejorar mis soluciones ya disponibles, por lo que el soporte seguir谩 siendo restringido a las plataformas y herramientas que desarrollo directamente.

Utilidad de Impresi贸n de DTE (Documento Tributario Electr贸nico) PrinterDTE

Esta es una herramienta b谩sica para imprimir documentos DTE ( como facturas electr贸nicas, gu铆as de despacho, nota de cr茅dito y d茅bito) a formato PDF usando iText . Se incluye el c贸digo fuente y la plantilla PDF , pero no se distribuye el ejecutable compilado . Caracter铆sticas Convierte un archivo XML DTE en un PDF formateado. Utiliza una plantilla base en PDF, la cual viene inclu铆da en el proyecto. Impresi贸n del DTE en formato carta. Requisitos Java 8 o superior. Biblioteca iText (5.4.1, es posible actualizar versi贸n ). Cualquier IDE que soporte Java. Instrucciones Clona el repositorio ( https://gitlab.com/eguenul/printerdte ) . Compila el proyecto. Parametros de la clase main PrinterDTE String nombredte = args[ 0 ]; /* NOMBRE ARCHIVO XML */ String numresol = args[ 2 ]; /* NRO RESOLUCION SII */ String year_resol = args[ 3 ]; /* A脩O RESOLUCI脫N SII */ String tipocopia = args[ 4 ]; /* TIPO DE COPIA valor 0: si es original y 1: si es cedible *...