簡體   English   中英

帶有OS密鑰庫的Chrome上的js簽名

[英]js signature on chrome with OS keystore

W3C正在開發http://www.w3.org/TR/WebCryptoAPI/來定義一種從javascript生成數字簽名,加密等的方法。 基本上在DOMwindow對象內定義一個新對象crypto ,它必須為javascript提供簽名和加密功能。 Chrome開始實現此對象,該對象目前可在其javascript引擎中使用(我認為處於測試階段),我嘗試使用它生成一些簽名似乎正常工作,但我認為最實用的生成數字簽名的方法此新對象使用OS密鑰庫中的私鑰代替自動生成的密鑰材料,但此工作草案中未涵蓋此訪問權限。

我已經使用簽名小程序工作了一年來處理OS密鑰庫(MS,Firefox KS,MAC OS X),但我想直接在javascript中做,如果可以避免applet產生的所有問題,那么...新的oracle安全性requeriments,新的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似乎火狐添加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中實現這一目標? 在任何瀏覽器中,任何人都知道一種常見的js方式嗎? 任何建議給我正確的方向將不勝感激。

謝謝!

您需要編寫將訪問MS Crypto Store並執行加密操作的活動組件。 它可以是Java applet,也可以是使用NativeClient SDK的 Chrome瀏覽器擴展。 Java applet將在MSIE,Firefox,Chrome和大多數其他瀏覽器中運行,但需要在客戶端計算機上安裝JRE(Java運行時環境)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM