SPKAC

From Wikipedia, the free encyclopedia

Template:Short description Template:DMCA SPKAC (Signed Public Key and Challenge, also known as Netscape SPKI) is a format for sending a certificate signing request (CSR): it encodes a public key, that can be manipulated using OpenSSL.[1] It is created using the little documented HTML keygen element[2] inside a number of Netscape compatible browsers.

Standardisation

There exists an ongoing effort to standardise SPKAC through an Internet Draft in the Internet Engineering Task Force (IETF). The purpose of this work has been to formally define what has existed prior as a de facto standard, and to address security deficiencies, particular with respect to historic insecure use of MD5 that has since been declared unsafe for use with digital signatures.Template:Ref RFC

Implementations

HTML5 originally specified the <keygen> element to support SPKAC in the browser to make it easier to create client side certificates through a web service for protocols such as WebID;[3][4] however, subsequent work for HTML 5.1 placed the keygen element "at-risk", and the first public working draft of HTML 5.2 removes the keygen element entirely.[5][6][7] The removal of the keygen element is due to non-interoperability and non-conformity from a standards perspective in addition to security concerns.[8]

The World Wide Web Consortium (W3C) Web Authentication Working Group developed the WebAuthn (Web Authentication) API to replace the keygen element.[9]

Bouncy Castle provides a Java class.[10][11]

An implementation for Erlang/OTP exists too.[12]

An implementation for Python is named pyspkac.[13]

PHP OpenSSL extension as of version 5.6.0.[14]

Node.js implementation.[15]

Deficiencies

The user interface needs to be improved in browsers, to make it more obvious to users when a server is asking for the client certificate.[16]

See also

References

Page Template:Reflist/styles.css has no content.

  1. ^ Page Module:Citation/CS1/styles.css has no content."Documents, spkac(1)". OpenSSL. Retrieved 5 April 2017.
  2. ^ Page Module:Citation/CS1/styles.css has no content."Html | Mdn". Developer.mozilla.org. 15 August 2013. Retrieved 13 October 2013.
  3. ^ Page Module:Citation/CS1/styles.css has no content."HTML5 W3C Recommendation 28 October 2014. 4.10.12 The keygen element". W3C. 28 October 2014. Retrieved 17 October 2016.
  4. ^ Page Module:Citation/CS1/styles.css has no content."WebID: creating a global decentralised authentication protocol". W3C. Retrieved 13 October 2013.
  5. ^ Page Module:Citation/CS1/styles.css has no content.Nevile, Chaals (3 June 2016). "Re: Call for Consensus - Remove <keygen> from HTML". W3C HTML Working Group (Mailing list). Retrieved 17 October 2016.
  6. ^ Page Module:Citation/CS1/styles.css has no content."HTML5.1: CR 21 June 2016. Status of this document". W3C. 21 June 2016. Retrieved 17 October 2016.
  7. ^ Page Module:Citation/CS1/styles.css has no content."HTML 5.2: First Public WD. Changes from HTML 5.1". W3C. 18 August 2016. Retrieved 17 October 2016.
  8. ^ Page Module:Citation/CS1/styles.css has no content.W3C Technical Architecture Group (30 November 2015). "Keygen and Client Certificates". W3C. Retrieved 17 October 2016.{{cite web}}: CS1 maint: numeric names: authors list (link)
  9. ^ Page Module:Citation/CS1/styles.css has no content.Halpin, Harry; Appelquist, Daniel; Mill, Eric; Gmür, Reto (31 May 2016). "Re: removing keygen from HTML". W3C WWW Technical Architecture Group (Mailing list). Retrieved 17 October 2016.
  10. ^ Page Module:Citation/CS1/styles.css has no content."Bouncy Castle Java Documentation". Retrieved 6 December 2013.
  11. ^ Page Module:Citation/CS1/styles.css has no content."foaf-protocols] spkac test implementation in Java". Lists.foaf-project.org. Retrieved 13 October 2013.
  12. ^ Page Module:Citation/CS1/styles.css has no content."ztmr/espkac @ GitHub". Github.com. Retrieved 13 October 2013.
  13. ^ Page Module:Citation/CS1/styles.css has no content."pyspkac". Github.com. Retrieved 6 December 2013.
  14. ^ Page Module:Citation/CS1/styles.css has no content."php 5.6.0 OpenSSL Native SPKAC support".
  15. ^ Page Module:Citation/CS1/styles.css has no content."node.js spki support".
  16. ^ Page Module:Citation/CS1/styles.css has no content."User tracking with SSL certificates in Firefox - The H Security: News and Features". Heise-online.co.uk. 19 September 2007. Archived from the original on 19 September 2008. Retrieved 13 October 2013.