对于管理界面,我们希望使用SSL实现客户端身份验证。其思想是,在注册过程中,每个用户都会生成一个SSL证书,该证书在浏览器中注册,用于向服务器验证客户端。私钥永远不能离开客户端,这一点很重要。因此,在服务器上生成证书并将其发送到客户端并不是解决方案。
是否可以使用JavaScript在浏览器(例如IE 9+、Firefox 12+、Chrome)中生成SSL证书?可以注册证书吗?
发布于 2012-05-23 17:08:41
您不能真正在浏览器中生成证书,但可以在浏览器中生成证书请求(或等效证书):密钥对在浏览器中生成,私钥永远不会离开它。
(请注意,如果您直接在浏览器中生成证书,则该证书最多只能是自签名的,因为CA不会向您提供其私钥。这就是为什么只有证书请求的原因,因为生成自签名证书的需求很小。我认为有一个Firefox扩展可以做到这一点。)
证书请求将发送到服务器,但格式取决于浏览器和使用的方法。您将在服务器端获得的是公钥,这取决于您实现的服务将其转换为证书(当然,除非您使用现有的服务)。您可以在this answer中找到有关这方面的更多详细信息。
在服务器上生成证书后,可以将其重新导入以与私钥相关联。
https://stackoverflow.com/questions/10700557
复制相似问题