title: Keygen tag in HTML5
body: <p>So I came across this new tag in HTML5, <code>&lt;keygen&gt;</code>.  I can't quite figure out what it is for, how it is applied, and how it might affect browser behavior.  </p>
  
  <p>I understand that this tag is for form encryption, but what is the difference between <code>&lt;keygen&gt;</code> and having a SSL certificate for your domain. Also, what is the <code>challenge</code> attribute?  </p>
  
  <p>I'm not planning on using it as it is far from implemented in an acceptable range of browsers, but I am curious as to what EXACTLY this tag does.  All I can find is vague cookie-cutter documentation with no real examples of usage.</p>
  
  <hr>
  
  <p><em>Edit:</em>  </p>
  
  <p>I have found a VERY informative document, <a href="https://web.archive.org/web/20160409081411/https://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20080714/07ea5534/attachment.txt" rel="nofollow noreferrer">here</a>. This runs through both client-side and server-side implementation of the keygen tag.</p>
  
  <p>I am still curious as to what the benefit of this over a domain SSL certificate would be.</p>