2016-04-21 65 views
0

我的用戶在其Web瀏覽器中安裝了一些證書(私鑰)。瀏覽器使用這些證書在某些第三方網站上對用戶進行身份驗證。使用瀏覽器的證書(私鑰)在javascript中籤署一些字符串

我想標誌使用私鑰之一一些字符串,當用戶使用/訪問我的網站。是否有任何JavaScript API或函數可以執行此操作?

+0

不,證書商店不在Windows系統範圍內。 IE將使用系統存儲,但其他瀏覽器不會。 –

+1

我對IE和Chrome進行了測試,兩者都可以看到相同的證書。 FireFox不會 –

+0

無論如何,如果商店是全系統商店,那對我來說並不重要,因此我已經刪除了我的問題的一部分。 –

回答

0

簡而言之,您無法使用Java腳本和最終用戶的客戶端證書對通過Web瀏覽器傳遞的字符串進行簽名。

在你的情況下,用戶證書和密鑰用於TLS客戶端身份驗證:TLS握手

  • 在服務器將請求提交TLS客戶端證書的瀏覽器。
  • 瀏覽器將選擇合適的客戶端證書並建立TLS連接。
  • 完成後,服務器將傳遞內容:HTML,JS,Images ...
  • 瀏覽器將呈現包含所有元素的頁面。

瀏覽器有一個API來訪問客戶端證書和密鑰,但是這不會暴露給Java腳本引擎。