assinatura js no chrome com keystore do SO

O W3C está trabalhando em umhttp://www.w3.org/TR/WebCryptoAPI/ para definir uma maneira de gerar assinaturas digitais, criptografar e assim por diante a partir de javascript. Define basicamente um novo objetocrypto dentro de umwindow objeto emDOM que deve fornecer ao javascript recursos de assinatura e criptografia. O Chrome começa a implementar esse objeto que está atualmente disponível em seu mecanismo javascript (acho que no estágio beta), faço algumas tentativas para gerar algumas assinaturas e parece funcionar corretamente, no entanto, acho que a maneira mais útil de gerar assinaturas digitais com esse novo objeto está usando as chaves privadas no keystore do SO em vez de gerar automaticamente o material da chave, mas esse acesso não é coberto neste rascunho de trabalho.

Estou trabalhando há anos com um applet de assinatura para lidar com o keystore do SO (MS, Firefox KS, MAC OS X), mas quero fazer diretamente em javascript, se for possível evitar todos os problemas que o applet produz nos últimos dias ... novos requisitos de segurança da oracle, novos atributos MANIFEST.MF, plug-ins de bloqueio de navegador e assim por diante!

Então, eu estou procurando uma maneira javascript de fazer isso e parece que todos os principais navegadores seguem seu próprio caminho:

No Internet Explorer, existe um ActiveXObject para acessar o keystore do Windows:

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

Para acessar o firefox, o Keystore parece que o firefox adiciona umsignText método emwindow.crypto (mais informações sobre a implementação do firefox webCryptoAPIaqui e sobre a implementação proprietáriaaqui ):

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

EDIT: Este método do Firefox está obsoleto desde a versão 34 porque não é um padrão:https://developer.mozilla.org/en-US/docs/Archive/Mozilla/JavaScript_crypto

No entanto, no Chrome parece que atualmente não existe nada para fazer o mesmo.

Então, alguém sabe como conseguir isso no Chrome? Alguém conhece uma maneira comum de fazer isso em todos os navegadores? Qualquer conselho para me dar na direção certa será apreciado.

Obrigado!