Hemos escrito un sistema de gestión de documentos y nos gustaría firmar digitalmente documentos utilizando el cliente web. Nuestra aplicación de cliente Java ya puede aplicar y verificar la firma digital, pero nos gustaría hacer la firma incluso con nuestro cliente web. Esto está escrito en GWT y, por lo tanto, cuando se ejecuta en el lado del cliente, es una aplicación de JavaScript.¿Cómo hacer una firma digital en una aplicación web (JavaScript) usando una tarjeta inteligente?
No queremos crear un applet de Java y descargarlo en el cliente y ejecutarlo. Nos gustaría utilizar el dispositivo de seguridad del navegador o la API del navegador para firmar un documento. También nos gustaría mantener el lado del servidor de documentos completo, y mover al cliente solo el hash del documento.
Creemos que esto debería ser posible utilizando NSS o NPAPI/NPRuntime, pero no encontramos ninguna información sobre esto. (Por cierto, ¿está npruntime disponible también en IE? ¿Deberíamos usar ActiveX para lograr el mismo resultado con IE?)
¿Tiene alguna pista?
* El enlace DOMCrypt * no es lo que se supone que es. – ares
Gracias @ares, el DNS DOMcrypt.org parece estar asignado a un propietario diferente ahora. Cambié el enlace a una página diferente con contenido muy similar. – eppesuig
window.crypto no fue [eliminado] (https://wiki.mozilla.org/SecurityEngineering/Removing_Proprietary_window.crypto_Functions) después de Firefox 33? – marcellorvalle