14

我正在尝试实现登录系统以使用公钥身份验证登录网站。我不确定这是否可行。

这就是我打算做的:-

  1. 注册时,用户的公钥保存在网站中。
  2. 当用户稍后尝试登录时,网站会要求用户提供相应的私钥。
  3. 如果私钥与用户在注册时提供的公钥匹配,则对用户进行身份验证。

我见过像startssl.com这样的网站要求用户提供私钥来验证他们的身份(见附件截图)。那么实施这样的系统需要什么?

请求私钥的网站截图

4

1 回答 1

6

只是为了澄清流程

  1. 用户使用普通的旧用户名和密码对进行注册。他还被要求输入至少一个公钥(其他公钥可以稍后从配置文件管理面板添加)
  2. 服务器存储用户的公钥并将其与证书中的用户相关联
  3. 下次客户端提出出示证书的请求时(这应该由浏览器处理,因此对用户透明地发生),服务器端的 SSL 引擎会检查它是否知道客户端,如果知道,请求会被处理,并且应用程序代码将对用户进行身份验证和授权,因为它知道公钥和用户之间的链接。如果客户端未被识别,服务器应重定向到某个页面以允许注册或手动登录(可能添加新的公钥)
于 2012-04-07T16:27:53.453 回答