3

对于管理界面,我们希望使用 SSL 实现客户端身份验证。这个想法是,在注册过程中,每个用户都会生成一个 SSL 证书,该证书在浏览器中注册并用于向服务器验证客户端。重要的是私钥永远不会离开客户端。因此,在服务器上生成证书并将其发送给客户端不是解决方案。

是否可以使用 JavaScript 在浏览器(例如 IE 9+、Firefox 12+、Chrome)中生成 SSL 证书?是否可以注册证书?

4

1 回答 1

5

您无法在浏览器中真正生成证书,但您可以在浏览器中生成证书请求(或等效项):密钥对在浏览器中生成,私钥永远不会离开它。

(请注意,如果您直接在浏览器中生成证书,它充其量是自签名的,因为 CA 不会给您它的私钥。这就是为什么您只能有一个证书请求,因为几乎没有需求用于生成自签名证书。不过,我认为有一个 Firefox 扩展可以做到这一点。)

证书请求被发送到服务器,但格式取决于浏览器和使用的方法。您将在服务器端获得的是公钥,由您实施的服务将其转换为证书(当然,除非您使用现有服务)。您可以在此答案中找到有关此的更多详细信息。

在服务器上生成证书后,可以将其重新导入以与私钥相关联。

于 2012-05-23T09:08:41.363 回答