Я хочу, чтобы иметь возможность подписывать данные в браузере, используя 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
Так, по крайней мере, есть один старый способ все еще работает ...
В настоящий момент WebCrypto не имеет механизмов доступа к сертификатам и/или хранилищам ключей вообще. Все надеются, что это изменится, и неясно, что думают стандартные разработчики, если опустить эту функциональность. –