是否可以請求在瀏覽器中生成客戶端密鑰對,並將公鑰發送給服務器CA進行透明簽名?然後在用戶的瀏覽器中安裝簽名證書?在瀏覽器中生成客戶端證書並在服務器上簽名
場景:
- 用戶打開https://examle.com/網頁,服務器身份驗證
- 用戶請求的帳戶創建
- 密鑰對用戶的瀏覽器生成並沒有透露服務器/ CA
- PUBKEY被髮送到服務器簽署
- 服務器SIGNES密鑰和證書生成
- 證書發送到客戶端,並與私鑰一起安裝在瀏覽器中
下次客戶端連接到服務器時,他的身份將根據客戶端證書進行驗證。
這將是很好,如果服務器可能會迫使/提示客戶使用密碼加密來保護他的私鑰。
我見過使用Java applet進行此任務的網上銀行。是否可以使用本地瀏覽器功能來完成它? Apache/PHP或Node.js解決方案將受到歡迎。
我如何使用私鑰解密數據(在HTML5/kegen-tag的情況下)? – MhdSyrwan 2013-11-12 23:51:35
''元素根據[W3C](http://w3c.github.io/html/sec-forms.html#elementdef- keygen),[WHATWG](https://html.spec.whatwg)棄用.org/multipage/forms.html#the-keygen-element)和[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen),並在Chrome中被故意禁用從版本49開始。 –
2016-04-21 15:44:39