Firma js en Chrome con el almacén de claves del sistema operativo

W3C está trabajando en unhttp://www.w3.org/TR/WebCryptoAPI/ para definir una forma de generar firmas digitales, cifrado, etc. desde javascript. Básicamente define un nuevo objetocrypto dentro de unawindow objeto enDOM que debe proporcionar javascript con características de firma y cifrado. Chrome comienza a implementar este objeto que actualmente está disponible en su motor de JavaScript (creo que en la etapa beta), hago algunos intentos para generar algunas firmas con él y parece funcionar correctamente, sin embargo, creo que la forma más útil de generar firmas digitales con este nuevo objeto está utilizando las claves privadas en el almacén de claves del sistema operativo para generar automáticamente el material clave, pero este acceso no está cubierto en este borrador de trabajo.

Trabajo durante años con un applet de firma para tratar con el almacén de claves del sistema operativo (MS, Firefox KS, MAC OS X) pero quiero hacerlo directamente en javascript si es posible evitar todos los problemas que el applet produce en los últimos días ... ¡nuevos requisitos de seguridad de Oracle, nuevos atributos MANIFEST.MF, complementos de bloqueo del navegador, etc., que son un verdadero dolor!

Así que estoy buscando una forma de JavaScript para hacerlo y parece que todos los principales navegadores siguen su propio camino:

En internet explorer hay un ActiveXObject para acceder al almacén de claves de Windows:

// instantiate the CAPICOM objects
var store = new ActiveXObject("CAPICOM.Store");
store.Open(CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY);
...

Para acceder a firefox Keystore parece que firefox agrega unsignText método enwindow.crypto (más información sobre la implementación de Firefox webCryptoAPIaquí y sobre la implementación propietariaaquí ):

window.crypto.signText("textToSign", "ask");

EDITAR: Este método de Firefox está en desuso desde la versión 34 porque no es un estándar:https://developer.mozilla.org/en-US/docs/Archive/Mozilla/JavaScript_crypto

Sin embargo, en Chrome parece que actualmente no existe nada para hacer lo mismo.

Entonces, ¿alguien sabe cómo puede lograr esto en Chrome? ¿Alguien sabe una manera común de hacerlo en todos los navegadores? Cualquier consejo para darme en la dirección correcta será apreciado.

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta