Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript html密钥生成替代方案,在浏览器中生成密钥对_Javascript_Php_Codeigniter_Ssl_Encryption - Fatal编程技术网

Javascript html密钥生成替代方案,在浏览器中生成密钥对

Javascript html密钥生成替代方案,在浏览器中生成密钥对,javascript,php,codeigniter,ssl,encryption,Javascript,Php,Codeigniter,Ssl,Encryption,我需要一个html标记keygen的替代方案,用于通过客户端证书进行身份验证。到目前为止,我只发现像jcryption或pidCrypt这样的过时js库不再维护。是否有一种方法可以在客户端生成rsa密钥对,并将私钥存储在浏览器密钥存储库中(至少跨chrome、safari和firefox) 我知道node.js会做类似的事情,但我有一个相当大的应用程序,它已经用php和codeigniter编写,我不认为您只能实现一些加密库。另外,据我所知,node.js有一个c/c++后端,在服务器上使用op

我需要一个html标记keygen的替代方案,用于通过客户端证书进行身份验证。到目前为止,我只发现像jcryption或pidCrypt这样的过时js库不再维护。是否有一种方法可以在客户端生成rsa密钥对,并将私钥存储在浏览器密钥存储库中(至少跨chrome、safari和firefox)

我知道node.js会做类似的事情,但我有一个相当大的应用程序,它已经用php和codeigniter编写,我不认为您只能实现一些加密库。另外,据我所知,node.js有一个c/c++后端,在服务器上使用openssl,因此它不是在客户端生成的

我是SSL和客户端证书的新手,所以我希望您能给我一些关于如何实现客户端证书的建议

到目前为止,我已经完成了以下工作:

  • 使用keygen标签(在firefox中仍然有效)生成密钥对。私钥存储在浏览器中

  • 使用公钥在服务器上使用openssl生成证书

  • 通过应用程序/x-509-server-cert MIME类型在用户浏览器中实施证书。(我已经读到,这也不会被支持太久)

  • 有没有办法做到这一点,使私钥不会离开客户端计算机,或者我应该在服务器上生成所有内容,然后用密码对其进行加密,并向用户发送p12文件,然后删除服务器上的所有内容


    请帮忙

    最近,我在寻找类似的库,发现了一个同样的流行库,即node forge。这个图书馆的每周下载量超过400万,并且已经存在了7年。此外,它还定期更新,可以通过其版本版本进行检查

    • 使用node forge生成RSA密钥对示例:
    • node forge Git项目URL:

    如果您已经有了基于
    的设置并希望继续使用它,我创建了一个项目,尝试为
    实现JavaScript polyfill:


    如果您正在谈论用JavaScript生成客户端证书并将其存储在浏览器中,那么我想知道您为什么要将服务器技术引入其中。特别是,我知道node.js就是这样做的——你的确切意思是什么?@ArtjomB。我的错。在那一段中,我想说的是node.js不是一个选项,所以人们不会给我指出它,我想我正在努力实现同样的目标。我可以在服务器上生成p12,但浏览器将只下载它,而不会打开安装对话框。似乎只有当您只发送已签名的证书,而不是PK12,并且只有当客户端上已经存在私钥时,才会使用安装对话框。这与不推荐某些keygen/证书功能有关。