我有来自W3的示例html代码
<!DOCTYPE html>
<html>
<body>
<form action="/" method="post" id="keygen-form">
Username: <input type="text" name="usr_name">
<keygen name="pubkey" challenge="246813579" KEYTYPE="EC"
KEYPARAMS="secp256r1" id="keygen-form">
<input type="submit">
</form>
<p><strong>Note:</strong> The keygen tag is not supported in Internet Explorer.</p>
</body>
</html>
但是,如果发布到服务器,则只有表单中的字段为usr_name
Safari和Chrome上的结果都是相同的。
知道如何正确使用它吗?
答案 0 :(得分:1)
你是对的,由于我不知道的原因,EC
keytype不支持/不支持webkit(Chrome和Safari都是),而且我唯一一个 能够在Chrome中工作是默认的RSA
类型。 E.g:
<keygen name="RSA public key" challenge="123456789" KEYTYPE="RSA">
在Firefox上,RSA
,DSA
和EC
都按预期支持。特别是对于这样的新功能,总是检查不同的浏览器是个好主意(并且safari不值得测试,因为它们支持的次数少于或不同于Chrome)。
除此之外你应该意识到w3schools与w3无关,并且是一个可怕的信息来源。 (刚刚查看了他们的<keygen>
页面)。你更好地检查<keygen>
on MDN,尽管那篇文章有点受我的影响。
答案 1 :(得分:1)
此问题已超过一年,但如果有第85位用户查看此问题,则Chrome已弃用<keygen>
并标记为已删除。
弃用通知:https://www.chromestatus.com/features/5716060992962560
意图弃用和原因:https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/pX5NbX0Xack/discussion%5B1-25%5D
第二篇文章详述了一些替代方案。