ISSUE-24: Defining a Synchronous API

Defining a Synchronous API

State:
CLOSED
Product:
Raised by:
Ryan Sleevi
Opened on:
2012-08-20
Description:
In v1.15, the Web Crypto API still makes heavy use of special interface-objects in order to provide asynchronous implementations of methods such as encrypting, hashing, or generating keys.

However, in nearly every major cryptography API, these operations are all synchronous, and thus user agents will be forced to simulate an asynchronous API atop a synchronous API.

Does it make more sense to define the Web Crypto API as a *purely* synchronous API, but which can *only* be accessed from Web Workers?

This effectively leaves the asynchronous semantics up to applications to implement, by forcing them to use web workers. However, it allows the exposed surface of the API to be significantly reduced, as well as easier specification of the state machines.

A "complementary" synchronous API, as has been expressed as desired, is more likely a complete rethinking and re-implementation of the API.

This is, to some degree, also related to ISSUE-18, since exposing cryptographic transforms via the various proposed streaming APIs also implies asynchronicity, but with a more consistent programming model to existing web platform APIs.
Related Actions Items:
No related actions
Related emails:
  1. W3C Web Crypto WG - take away from 10th of Feb call (from Virginie.GALINDO@gemalto.com on 2014-02-13)
  2. PROPOSAL: ??? ISSUE-24: Defining a synchronous API (was Re: W3C Web Crypto WG - classifying issues) (from sleevi@google.com on 2013-02-07)
  3. Re: PROPOSAL: Close ISSUE-24 - Defining a Synchronous API (from rbarnes@bbn.com on 2013-02-04)
  4. Re: W3C Web Crypto WG - agenda for our call today @ 20:00 UTC (from watsonm@netflix.com on 2013-02-04)
  5. RE: W3C Web Crypto WG - agenda for our call today @ 20:00 UTC (from Asad.Ali@gemalto.com on 2013-02-04)
  6. Re: W3C Web Crypto WG - agenda for our call today @ 20:00 UTC (from S.Durbha@cablelabs.com on 2013-02-04)
  7. W3C Web Crypto WG - agenda for our call today @ 20:00 UTC (from Virginie.GALINDO@gemalto.com on 2013-02-04)
  8. Re: PROPOSAL: Close ISSUE-24 - Defining a Synchronous API (from slightlyoff@google.com on 2013-01-31)
  9. PROPOSAL: Close ISSUE-24 - Defining a Synchronous API (from sleevi@google.com on 2013-01-31)
  10. Re: Web Workers! (from sleevi@google.com on 2012-10-21)
  11. Re: crypto-ISSUE-24: Defining a Synchronous API [Web Cryptography API] (from sleevi@google.com on 2012-08-27)
  12. Re: crypto-ISSUE-24: Defining a Synchronous API [Web Cryptography API] (from watsonm@netflix.com on 2012-08-21)
  13. Re: crypto-ISSUE-24: Defining a Synchronous API [Web Cryptography API] (from sleevi@google.com on 2012-08-21)
  14. Re: crypto-ISSUE-24: Defining a Synchronous API [Web Cryptography API] (from watsonm@netflix.com on 2012-08-21)
  15. Re: crypto-ISSUE-24: Defining a Synchronous API [Web Cryptography API] (from arun@mozilla.com on 2012-08-21)
  16. Re: crypto-ISSUE-24: Defining a Synchronous API [Web Cryptography API] (from watsonm@netflix.com on 2012-08-20)
  17. Re: crypto-ISSUE-24: Defining a Synchronous API [Web Cryptography API] (from sleevi@google.com on 2012-08-20)
  18. Re: crypto-ISSUE-24: Defining a Synchronous API [Web Cryptography API] (from watsonm@netflix.com on 2012-08-20)
  19. crypto-ISSUE-24: Defining a Synchronous API [Web Cryptography API] (from sysbot+tracker@w3.org on 2012-08-20)

Related notes:

No additional notes.

Display change log ATOM feed


Chair, Staff Contact
Tracker: documentation, (configuration for this group), originally developed by Dean Jackson, is developed and maintained by the Systems Team <w3t-sys@w3.org>.
$Id: 24.html,v 1.1 2017/02/13 16:16:50 ted Exp $