我可以用 html5“keygen”元素做些什么有用的事情?

信息安全 应用安全 Web应用程序 密钥管理 客户端 html-5
2021-08-24 01:40:23

html5 规范中有一个new*keygen元素。它在除 Internet Explorer 和 Safari 之外的主要浏览器中受支持。

这是它的样子:

<form action="processkey.cgi" method="post" enctype="multipart/form-data">
 <p><keygen name="key"></p>
 <p><input type=submit value="Submit key..."></p>
</form>

在此处输入图像描述

当前的实现只支持 RSA 作为keytype属性。

现在我的问题是,我可以用它做什么有用的事情?这是为了什么?

*: 并不真地

3个回答

明显的用法是客户端身份验证。它可以与密码短语或智能卡结合使用来提高安全性,或者作为输入密码的便捷替代品。

在这种情况下WebID 单点登录协议是一个有趣的提议。

客户端证书的主要问题是它绑定到浏览器。因此,如果您在另一台计算机上,除非您采取预防措施,否则您将无法访问它们。

我认为它可以用来减轻会话劫持。服务器可以对客户端进行身份验证,然后在从客户端获取输入之前,服务器可以对客户端执行检查。该规范还允许您生成公钥和质询。在以表单形式提交重要信息之前,最好能够重新验证服务器。

该元素的目的是提供一种对用户进行身份验证的安全方式。该标记指定表单中的密钥对生成器字段。更多可以在这里找到 http://www.w3schools.com/html/html5_form_elements.asp