2014-12-03 5 views
4

Я хочу, чтобы иметь возможность подписывать данные в браузере, используя 100% JavaScript и ключи на основе криптографических токенов.WebCryptoAPI - Поддерживает ли он подписание с помощью криптографических токенов?

Из того, что я видел до сих пор, все старые реализации этой функциональности прекращаются (например, даже new ActiveXObject("CAPICOM.Store");, похоже, больше не работает в IE11, так как он выдает ошибку! - Я не знаю, отсутствует что-то ... Возможно, потому, что я запускаю его в окне консоли ...).

Я посмотрел в спецификации на WebCryptoAPI (который должен быть будет новый поддерживаемый способ):

http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-sign

... а потом на это (что более понятно, организованная и полезно):

http://msdn.microsoft.com/en-us/library/ie/dn302332(v=vs.85).aspx

... и я увидел, что она позволяет создавать новые ключи (generateKey), но я не уверен, если он поддерживает использование ключей от лексем. Существует importKey, но из описания кажется, что это не то, что мне нужно, чтобы подписываться с существующим ключом, который может видеть ОС.

Этот веб-стандарт нацелен на разрешение такой функциональности? Могу ли я использовать его так, как сейчас, и достичь своей цели?

Могу ли я сделать что-нибудь лучше, по крайней мере, в Firefox, у которого есть диспетчер устройств (Options-> Certifivates-> Security Devices)?

Похожие вопросы:

Accessing signing/encryption in a browser's Keystore using JavaScript - sample code? (WebCryptoAPI)

js signature on chrome with OS keystore

UPDATE:

Я также нашел этот PDF: http://webpki.org/papers/PKI/x509-webcrypto-extension-scheme.pdf

Из того, что я видел, там не в любом из браузеров не window.crypto.subtle.KeyStore, так что я предполагаю, что это дикие мечты, что люди далекого будущего ...

UPDATE2: Именно по этой причине я не мог загрузить ActiveX в IE11: https://stackoverflow.com/a/5157766/2173353

Так, по крайней мере, есть один старый способ все еще работает ...

+4

В настоящий момент WebCrypto не имеет механизмов доступа к сертификатам и/или хранилищам ключей вообще. Все надеются, что это изменится, и неясно, что думают стандартные разработчики, если опустить эту функциональность. –

ответ

1

нет, в настоящее время нет. Идентификаторы оборудования или программного обеспечения пользователя: еще недоступен. См. Комментарий для Евгения (на вопрос) за несколько больше информации.