подпись js на chrome с хранилищем ключей ОС

W3C работает надhttp://www.w3.org/TR/WebCryptoAPI/ определить способ генерации цифровых подписей, шифрования и т. д. из JavaScript. В основном определяет новый объектcrypto внутриwindow объект вDOM который должен предоставить javascript с функциями подписи и шифрования. Chrome начинает реализовывать этот объект, который в настоящее время доступен в его движке javascript (я думаю, на стадии бета-тестирования), я делаю некоторые попытки сгенерировать некоторые подписи с ним, кажется, работает правильно, однако я думаю, что наиболее полезный способ генерировать цифровые подписи с этот новый объект использует закрытые ключи в хранилище ключей ОС вместо автоматически сгенерированного материала ключа, но этот доступ не рассматривается в этом рабочем проекте.

Я годами работаю с фирменным апплетом для работы с хранилищем ключей ОС (MS, Firefox KS, MAC OS X), но я хочу сделать это напрямую в javascript, если возможно избежать всех проблем, которые апплет создает в последние дни ... новые требования безопасности оракула, новые атрибуты MANIFEST.MF, плагины для блокировки браузера и т. д., которые являются настоящей болью!

Поэтому я ищу способ сделать это с помощью javascript и, похоже, все основные браузеры идут своим путем:

В Internet Explorer есть ActiveXObject для доступа к хранилищу ключей Windows:

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

Для доступа к Firefox Keystore кажется, что Firefox добавляетsignText метод вwindow.crypto (больше информации о реализации Firefox webCryptoAPIВот и о собственной реализацииВот ):

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

РЕДАКТИРОВАТЬ: Этот метод Firefox является устаревшим, начиная с версии 34, потому что это не стандарт:https://developer.mozilla.org/en-US/docs/Archive/Mozilla/JavaScript_crypto

Однако на Chrome кажется, что в настоящее время не существует ничего, чтобы сделать то же самое.

Так кто-нибудь знает, как можно добиться этого в Chrome? Кто-нибудь знает общий способ сделать это во всех браузерах? Любой совет, чтобы дать мне в правильном направлении, будет оценен.

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос