@erseco/autofirma-client
Cliente TypeScript sobre AutoScript, la API oficial de AutoFirma. Ni reimplementa criptografía ni valida firmas: adapta la API oficial a promesas tipadas.
Pruébalo
Firmar requiere tener AutoFirma instalada. Si no lo está, verás aquí abajo el error que devuelva al intentarlo.
Desde el móvil esta demo no puede firmar. En Android y iOS, AutoScript no habla con la app por un puerto local, sino a través de un servidor intermedio: dos servicios que hacen de buzón entre el navegador y la aplicación. Esta página es estática y no tiene servidor detrás, así que no puede ofrecerlos. Tener instalada la app de AutoFirma no basta. Ábrela desde un ordenador para probarla.
No hay un tamaño máximo declarado: el fichero viaja entero a AutoFirma en una sola pieza, codificado en Base64, lo que lo hace un tercio más grande por el camino. El límite real es la memoria de la aplicación, y al superarla devuelve un error que esta página identifica como fichero demasiado grande.
El fichero no sale de tu navegador: no hay ningún servidor detrás. Los datos que se muestran son los del certificado que ha devuelto AutoFirma, no una verificación de la firma: AutoScript no puede validar firmas, cadenas de confianza ni revocación.
Instalación
npm install @erseco/autofirma-client
API
| Función | Descripción |
|---|---|
loadAutoScript(url) |
Inserta autoscript.js como script clásico y
resuelve con el objeto global AutoScript.
|
new AutoFirmaClient(options) |
Crea un cliente sobre el objeto AutoScript cargado. |
client.sign({ data, format }) |
Firma los datos en el formato indicado (PAdES, CAdES, XAdES o FacturaE). |
client.coSign(options) /
client.counterSign(options)
|
Cofirma o contrafirma cuando AutoScript lo expone. |
client.selectCertificate() |
Abre el selector de certificado sin firmar. |
client.saveDataToFile(options) |
Pide a AutoFirma que guarde datos en un fichero elegido. |
client.checkTime(options) |
Comprueba la sincronía del reloj del equipo con una petición
síncrona que bloquea la página. Solo avisa de un desfase con un
alert() nativo: la promesa no informa del
resultado. Con CT_OBLIGATORY puede impedir en
silencio que una llamada posterior a
initialize() cargue AutoFirma.
|
readCertificate(derBase64) |
Extrae titular, emisora, número de serie y vigencia del certificado devuelto por AutoFirma. |
Repositorio
Código fuente, incidencias y notas de compatibilidad en github.com/erseco/autofirma-client.