如何将<keygen />公钥发送到服务器?

时间:2014-10-30 12:35:21

标签: html5 post

我有来自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上的结果都是相同的。

知道如何正确使用它吗?

2 个答案:

答案 0 :(得分:1)

你是对的,由于我不知道的原因,EC keytype不支持/不支持webkit(Chrome和Safari都是),而且我唯一一个 能够在Chrome中工作是默认的RSA类型。 E.g:

<keygen name="RSA public key" challenge="123456789" KEYTYPE="RSA">

在Firefox上,RSADSAEC都按预期支持。特别是对于这样的新功能,总是检查不同的浏览器是个好主意(并且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

第二篇文章详述了一些替代方案。