因此,我在HTML5中遇到了这个新标签<keygen>
。我不太清楚它的用途,如何应用以及它如何影响浏览器的行为。
我知道该标签用于表单加密,但是<keygen>
和为您的域拥有SSL证书之间有什么区别?另外,challenge
属性是什么?
我不打算使用它,因为它远未在可接受的浏览器范围内实现,但我对这个标记的作用感到好奇。我所能找到的只是模糊的cookie切割器文档,没有真正的用法示例。
编辑:
我找到了一个非常有用的文档here。这贯穿了keygen标签的客户端和服务器端实现。
我仍然对此域SSL证书有什么好处感到好奇。
最佳答案
SSL与“服务器标识”或“服务器与客户端身份验证(相互身份验证)”有关。
在大多数情况下,只有服务器在SSL握手期间显示其服务器证书,以便您可以确保这确实是您希望连接的服务器。在某些情况下,服务器还希望验证您确实是您所假装的人。为此,您需要一个客户证书。<keygen>
标记生成一个公共(public)/专用密钥对,然后创建一个证书请求。该证书请求将被发送到证书颁发机构(CA)。 CA创建一个证书,并将其发送回浏览器。现在您可以使用此证书进行用户身份验证。