HTML <keygen> 元素

已废弃
该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。

HTML <keygen> 元素的存在是为了便于生成密钥材料,并提交公钥作为 HTML 表单的一部分。此机制旨在用于基于 Web 的证书管理系统。预计 <keygen> 元素将以 HTML 格式与构造证书请求所需的其他信息一起使用,并且该过程的结果将是签名证书。

内容类别 流式内容短语内容交互内容可列举的可标签的可提交的可重置的表单相关内容
允许的内容 无,它是一个空元素
标签省略 必须有开始标签,不能有结束标签。
允许的父元素 任何接受 短语内容 的元素。
允许的 ARIA 角色
DOM 接口 HTMLKeygenElement

属性

该元素包含了全局属性

autofocus

一个布尔属性,允许您指定控件在页面加载时应具有输入焦点,除非用户覆盖它,例如通过键入其他控件。文档中只有一个表单元素可以具有 autofocus 属性。

challenge

一个字符串,表示与公钥一起提交的质询字符串。如果未指定,则默认为空字符串。

disabled

一个布尔属性,表示表单控件不可用于交互。

form

与此元素关联的表单元素(其_表单所有者_)。属性的值必须是同一文档中 <form> 元素的 id。如果未指定此属性,则此元素必须是<form> 元素的后代。此属性使您可以将 id 元素放在文档中的任何位置,而不仅仅是其表单元素的后代。

keytype

生成的密钥类型。默认值为 RSA

name

控件的名称,与表单数据一起提交。

元素用法

<keygen name="name" challenge="challenge string" keytype="type"
        keyparams="pqg-params">

keytype 参数用于指定要生成的密钥类型。有效值为 “RSA”(这是默认值),“DSA” 和 “EC”。在所有情况下都需要 namechallenge 属性。RSA 密钥生成中,keytype 属性是可选的,而对于 DSAEC 密钥生成则是必需的。DSAEC 密钥生成需要 challenge 属性,RSA 密钥生成时忽略该属性。PQGkeyparams 的同义词。也就是说,你可以指定 PQGpqg="pqg-params"

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持 支持 — 57 支持1 不支持31.2

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 支持 — 57 支持 — 57 支持4 未知 未知 不支持