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
”。在所有情况下都需要 name
和 challenge
属性。RSA
密钥生成中,keytype
属性是可选的,而对于 DSA
和 EC
密钥生成则是必需的。DSA
和 EC
密钥生成需要 challenge
属性,RSA
密钥生成时忽略该属性。PQG
是 keyparams
的同义词。也就是说,你可以指定 PQG
或 pqg="pqg-params"
。
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 支持 — 57 | 支持 | 1 | 不支持 | 3 | 1.2 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 支持 — 57 | 支持 — 57 | 支持 | 4 | 未知 | 未知 | 不支持 |