2014-12-03 75 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根本沒有訪問證書和/或密鑰存儲的機制。大家都希望這個變化,並且標準開發人員在忽略這個功能時認爲什麼是不明確的。 – 2014-12-04 09:09:37

回答

1

不,目前沒有。硬件或軟件令牌的用戶爲,仍然不可用。有關更多信息,請參閱Eugene的評論(關於該問題)。

相關問題