htm5新增的表单元素keygen标签的用法和属性介绍


本文摘自PHP中文网,作者寻∝梦,侵删。

htm5新增的表单元素keygen标签的用法和属性介绍,本篇文章主要为大家介绍了html5 keygen标签的定义用法及其属性的描述,还有关于html5 keygen标签的优缺点说明

html5 keygen标签的定义和用法:

<keygen> 标签规定用于表单的密钥对生成器字段。

当提交表单时,私钥存储在本地,公钥发送到服务器。

HTML5 <keygen> 标签实例:

带有 keygen 字段的表单:

1

2

3

4

5

<form action="demo_keygen.asp" method="get">

Username: <input type="text" name="usr_name" />

Encryption: <keygen name="security" />

<input type="submit" />

</form>

html5 keygen标签的属性:

tuyi.png

html5 keygen标签的优缺点介绍:

首先<keygen>标签会生成一个公钥和私钥,私钥会存放在用户本地,而公钥则会发送到服务器。那么<keygen>标签生成的公钥/私钥是用来做什么用的呢?很多朋友在看到公钥/私钥的时候,应该就会想到了非对称加密。没错,<keygen>标签在这里起到的作用也是一样。

<keygen>标签所期望的是在收到SPKAC(SignedPublicKeyAndChallenge)排列后,服务器会生成一个客户端证书(Client Certificate),然后返回到浏览器让用户去下载保存到本地。之后,用户在需要验证的时候,使用本地存储的私钥和证书后通过TLS/SSL安全传输协议到服务端做验证。

以下是使用<keygen>标签的优点:

  1. 一个是可以提高验证时的安全性;

  2. 同时如果是作为客户端证书来使用,可以提高对MITM攻击的防御力度;

  3. keygen标签是跨越浏览器实现的,实现起来非常容易;

  4. 另外就是可以不用考虑操作系统的管理员权限问题。例如操作系统对不同用户设置了不同的浏览器权限,IE或者其他浏览器可以在设置里面禁用key的生成,这种情况下,可以通过keygen标签来生成和使用没有误差的客户端证书。

<keygen>标签的不足之处也有很多:(比如下面的十种)

  1. 证书(Certificates)在不同的系统里不是容易方便的(但是对于某些系统,这又是一个优势)。

  2. 没有在一个标准的位置存储私钥。

  3. 在html页面看到<keygen>标签生成的内容总是让人困惑和难以理解。

  4. <keygen>标签会让用户从一个列表里选择适当的key,但是大多数用户不知道该如何选择。

  5. 很多用户并不清楚是否该根据提示下载证书(Certificate)。

  6. <keygen>标签不提供一个能管理证书让其失效的机制。

  7. 没有标准的key长度或者hash来实现浏览器无关性。

  8. 不支持算法(RSA, DSA, ECC等)。

  9. key的大小选择只能来源于<keygen>标签生成的表单内容,而不是用户可以选择的。

  10. 签名只能基于MD5,而不能使用其他的加密算法。

浏览器支持

所有主流浏览器都支持 <keygen> 标签,除了 Internet Explorer 和 Safari。

【相关推荐】

html标签legend的具体用法你知道吗?legend标签的属性和使用方法详解

html map标签是什么?html map标签的结构及具体使用方法详解

以上就是htm5新增的表单元素keygen标签的用法和属性介绍的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

html5新特性之文件和二进制数据的操作

详解html5实现橡皮擦的擦除效果的示例代码(图)

svg和css3实现环形渐变进度条的代码示例

html5本地数据库实例详解

recorder.js 基于 html5 实现录音功能

html5-xmlhttprequest level 2概述详解

了解html?5?history?api的”前生今世”

怎样实现h5微信播放全屏

html5用什么数据库

全面解析html5的文档结构和新增标签

更多相关阅读请进入《keygen》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...