我需要 html 标签 keygen 的替代方案,以便通过客户端证书进行身份验证。到目前为止,我只发现过时的 js 库,例如不再维护的 jcryption 或 pidCrypt。有没有办法在客户端生成 rsa 密钥对并将私钥存储在至少跨 chrome、safari 和 firefox 的浏览器密钥存储中。
我知道 node.js 会做类似的事情,但我有一个相当大的应用程序,它已经用 codeigniter 用 php 编写,我不认为你可以只实现一些加密库。据我所知,node.js 有 ac/c++ 后端,在服务器上使用 openssl,因此它不是在客户端生成的。
我是 SSL 和客户端证书的新手,因此我希望获得有关如何实施客户端证书的任何建议。
到目前为止,我已完成以下操作:
使用 keygen 标签(在 Firefox 中仍然有效)生成密钥对。私钥存储在浏览器中。
使用公钥在服务器上通过 openssl 生成证书。
通过 application/x-509-server-cert MIME 类型在用户浏览器中实施证书。(我已经读到,这也不会被支持太久)
有没有办法做到这一点,以便私钥不会离开客户端计算机,或者我应该在服务器上生成所有内容,然后使用密码对其进行加密,并将 p12 文件发送给用户,然后删除服务器上的所有内容?
请帮忙!