<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>13518</bug_id>
          
          <creation_ts>2011-08-02 09:25:36 +0000</creation_ts>
          <short_desc>&quot;The keygen element&quot;: The only supported signature algorithm is the outdated and insecure md5WithRSAEncryption. The element should at least have an optional signature algorithm, with the option to use the more secure sha1WithRSAEncryption and sha256WithRS</short_desc>
          <delta_ts>2016-04-28 14:35:33 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>HTML WG</product>
          <component>LC1 HTML5 spec</component>
          <version>unspecified</version>
          <rep_platform>Other</rep_platform>
          <op_sys>other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>MOVED</resolution>
          
          
          <bug_file_loc>http://www.whatwg.org/specs/web-apps/current-work/#top</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>contributor</reporter>
          <assigned_to name="Ian &apos;Hixie&apos; Hickson">ian</assigned_to>
          <cc>annevk</cc>
    
    <cc>chaals</cc>
    
    <cc>henry.story</cc>
    
    <cc>kennyluck</cc>
    
    <cc>mike</cc>
    
    <cc>public-html-admin</cc>
    
    <cc>public-html-wg-issue-tracking</cc>
    
    <cc>rfaber</cc>
          
          <qa_contact name="HTML WG Bugzilla archive list">public-html-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>51976</commentid>
    <comment_count>0</comment_count>
    <who name="">contributor</who>
    <bug_when>2011-08-02 09:25:36 +0000</bug_when>
    <thetext>Specification: http://dev.w3.org/html5/spec/spec.html
Multipage: http://www.whatwg.org/C#top
Complete: http://www.whatwg.org/c#top

Comment:
&quot;The keygen element&quot;:
The only supported signature algorithm is the outdated and insecure
md5WithRSAEncryption.

The element should at least have an optional signature algorithm, with the
option to use the more secure sha1WithRSAEncryption and
sha256WithRSAEncryption. Even better would be if md5WithRSAEncryption was not
supported or at least not the default - but that might of course cause
problems for legacy implementations.

Posted from: 193.162.155.202
User agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.8 Safari/535.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52507</commentid>
    <comment_count>1</comment_count>
    <who name="Michael[tm] Smith">mike</who>
    <bug_when>2011-08-04 05:02:07 +0000</bug_when>
    <thetext>mass-moved component to LC1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54338</commentid>
    <comment_count>2</comment_count>
    <who name="bblfish">henry.story</who>
    <bug_when>2011-08-06 13:12:22 +0000</bug_when>
    <thetext>The MD5 situation can be mitigated by the server using a time based challenge. The challenge gets added to to the generated public key and both get signed.  This can reduce the attack surface to a few minutes. I doubt md5 is not up to that.

Better signature would be better of course. But it is not clear to me what is gained anyway by this signature. What attack is it warding off against? Nothing can be done anyway with a certificate for which one does not have the private key.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54951</commentid>
    <comment_count>3</comment_count>
    <who name="Anne">annevk</who>
    <bug_when>2011-08-14 09:31:29 +0000</bug_when>
    <thetext>EDITOR&apos;S RESPONSE: This is an Editor&apos;s Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document: &lt;http://dev.w3.org/html5/decision-policy/decision-policy.html&gt;.

Status: Rejected
Change Description: no spec change
Rationale: Is there any interest from vendors in expanding the scope of this element? It seems the current direction for cryptography on the web is APIs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123589</commentid>
    <comment_count>4</comment_count>
    <who name="bblfish">henry.story</who>
    <bug_when>2015-10-07 08:59:45 +0000</bug_when>
    <thetext>The reason given for closing this issue is that this type of functionality would be taken over by WebCrypto JS APIs. That WG finished its work, but without filling the gap that the keygen functionality enabled.

To be more precise the JS Crypto API work does not provide a standard way for the browser to create public private keys in such a way that both the following hold:

1. it is safe from the origin that generated the key so that the user agent&apos;s keystore is the only one to have access to the private key 
2. the generated key is then useable across origins through browser enabled user mediation [2] for authentication

The irresolution of this issue was then used by a number of browsers ( see thread on blink-dev mailing list) as a reason to remove the &lt;keygen&gt; functionality, which was then used as a reason by the WHATWG to deprecate it [3] .




[1] http://www.w3.org/TR/WebCryptoAPI/
[2] http://w3c.github.io/webappsec-credential-management/#user-mediation
https://github.com/whatwg/html/issues/102
[3] https://github.com/whatwg/html/issues/102</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126258</commentid>
    <comment_count>5</comment_count>
    <who name="Charles McCathieNevile">chaals</who>
    <bug_when>2016-04-28 14:35:33 +0000</bug_when>
    <thetext>This has been listed as part of https://github.com/w3c/html/issues/43 - if keygen doesn&apos;t get deprecated, it will get addressed otherwise it becomes invalid</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>