firmar.ec: firma electrónica de Ecuador, sin instalar nada
Lanzamos firmar.ec, la app web para firmar PDFs con tu certificado .p12 de la ARCOTEL. PAdES B-T, sello de tiempo, verificación offline con QR, 17 ACEs reconocidas. Tu .p12 nunca sale del navegador.
TL;DR
Acabamos de poner en producción firmar.ec — una app web para firmar PDFs con un certificado .p12 de cualquier ACE registrada por la ARCOTEL. Sin descargas, sin extensiones, sin enviar tu certificado a un servidor remoto. La firma cumple PAdES B-T, incluye sello de tiempo (TSA), reconoce las 17 ACEs vigentes y permite verificar el documento offline mediante un QR de auditoría que se anexa al PDF.
Si firmaste un documento en Ecuador en los últimos cinco años, probablemente recuerdes el dolor: software java desactualizado, drivers que no se instalan, o subir tu .p12 a un servicio que jamás pediste auditar. Quisimos arreglarlo.
Por qué construimos esto
La firma electrónica en Ecuador funciona, pero la experiencia del firmante no. Las herramientas tradicionales requieren instalar runtimes, depender de extensiones de navegador descontinuadas, o confiar el certificado a portales SaaS que reclaman “almacenarlo de forma segura”.
Tres principios guiaron el diseño de firmar.ec:
- El certificado nunca sale del dispositivo. El parsing del .p12 (PKCS#12), la firma digital y el ensamblado del PDF firmado ocurren íntegramente en el navegador del firmante.
- PAdES de verdad. No basta con incrustar una imagen en un PDF y llamarla “firma”. Cada documento se firma siguiendo el perfil PAdES B-T definido en ETSI EN 319 142, con sello de tiempo de una TSA externa para anclaje temporal.
- Verificación sin software adicional. El cuadro de firma incluye un QR a
firmar.ec/verificar?h=<sha256>que cualquier verificador puede leer y validar la integridad del documento contra el hash anclado.
Qué cubre el lanzamiento (estado actual)
| Capacidad | Estado |
|---|---|
| Firma local con certificado .p12 ARCOTEL | ✅ Producción |
| Perfil PAdES B-T (firma + timestamp ETSI) | ✅ Producción |
| Reconocimiento de las 17 ACEs registradas en la TSL ARCOTEL | ✅ Producción |
| Verificación offline mediante QR de auditoría | ✅ Producción |
| Cuadro de firma estilo FirmaEC con metadatos del firmante | ✅ Producción |
| Compatibilidad SRI / Quipux / Minka | ✅ Producción |
| PWA instalable, share target nativo, file handler | ✅ Producción |
| Soporte ECDSA P-256 y P-384, RSA-2048+ | ✅ Producción |
| Multi-firma sobre el mismo documento | ✅ Producción |
| LTV / DSS (validación a largo plazo) | 🔧 En curso |
Cómo se usa
- Entra a firmar.ec.
- Arrastra el PDF que quieres firmar (o usa el botón Firmar).
- Carga tu archivo .p12 y escribe la contraseña — todo localmente.
- Posiciona el cuadro de firma donde quieras y confirma.
- Descarga el PDF firmado. El verificador puede confirmar el documento escaneando el QR o abriéndolo en cualquier lector que soporte PAdES (Adobe Reader, Foxit, etc.).
No hay cuentas, no hay suscripciones, no se almacenan documentos. La sesión vive en tu pestaña del navegador y desaparece al cerrarla.
Lo que no hace (todavía)
Para gestionar expectativas:
- No emite certificados. Necesitas tener tu .p12 emitido por una ACE registrada (UANATACA, BCE, Security Data, ANF, etc.). firmar.ec firma con el certificado que ya tienes.
- No reemplaza al SRI Online. Para la firma de comprobantes electrónicos (facturas, retenciones), seguimos recomendando integrarlo dentro del flujo del ERP. firmar.ec firma el resultado humano-legible (oficios, contratos, autorizaciones).
- No soporta LTV completa todavía. La firma B-T garantiza temporalidad; la extensión a LTV con embed de cadenas OCSP/CRL está en cola.
Qué hay debajo
Para los curiosos:
- TypeScript + Svelte 5 en el frontend.
- pkijs para el parsing del .p12 y construcción del CMS SignedData.
- pdf-lib + parches propios para incrustar el byte range PAdES correctamente.
- TSA externa vía ETSI RFC 3161 (FreeTSA por defecto, configurable).
- TSL propia (
@firma-ec/tsl-ec) que sincroniza la lista oficial de la ARCOTEL. - Verificador offline independiente: dado el PDF firmado, reconstruye la cadena, valida el timestamp y confirma la integridad sin conexión.
Cada componente del stack tiene tests de round-trip (firmar → verificar) contra certificados reales antes de cada deploy.
Open by default
firmar.ec está hospedado por IDK MANAGER pero pensado para ser una herramienta del ecosistema ecuatoriano. Si tu organización necesita una versión auto-hospedada o integración vía API, escríbenos a gerencia@idkmanager.com.
El estándar PAdES no es propietario, las ACEs ecuatorianas son públicas, y el .p12 es tuyo. Nuestro trabajo fue conectar las piezas en una experiencia que respeta esas tres cosas.