ISSUE-18: Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics?

Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics?

State:
CLOSED
Product:
usability for Web Crypto API
Raised by:
Ryan Sleevi
Opened on:
2012-08-06
Description:
The File API [1] defines an extension to the URL API [2] that exposes methods URL.createObjectURL [3] and URL.revokeObjectURL [4].

These define a 'special' URL syntax that allows user agents to directly interpret the data represented within a Blob, for use with existing schemes that take a URL (for example, img.src or script.src).

The MediaStreams API [5] further extends URL.createObjectURL [6] to allow MediaStream objects to be passed to to createObjectURL. MediaStreams are not Blob types themselves, and may be of indeterminate length (unlike Blobs), but by exposing them as pseudo-URLs, they can be used with existing tags such as <audio> or <video>.

Similarly, proposed APIs for streaming exist as part of the Stream Processing Spec [7] and through the Streams API [8]. Notably, the Streams API proposes a generic extension for createObjectURL that allows creating a blob URI from Stream objects.

The question is whether or not the Web Cryptography API should also extend createObjectURL to allow the creation of a Blob URI from a CryptoOperation.

Possible semantics:
- For an decryption operation, the returned stream references the plaintext data
- TBD: What to do for authenticated encryption data
- For an encryption operation, the returned stream references the encrypted data
- TBD: What to do for authenticated encryption data
- For a verify operation, the returned stream will contain the verified (signed) data.

Possible downsides:
- Unlike MediaStream/Blob, for which the data source is inside the user agent itself, the CryptoOperation is dependent upon the user manually adding more data to be processed, via processData(). This is similar to the StreamBuilder API from [8]. Does createObjectURL make sense for this use case?
- It's not possible to specify a streaming /source/ of data

Possible enhancements:
- Should FormData [10] or XMLHttpRequest.send [11] be updated to take CryptoOperation/streams?

[1] http://www.w3.org/TR/FileAPI/
[2] http://www.w3.org/TR/url/
[3] http://www.w3.org/TR/FileAPI/#dfn-createObjectURL
[4] http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL
[5] http://www.w3.org/TR/mediacapture-streams/
[6] http://www.w3.org/TR/mediacapture-streams/#url
[7] https://dvcs.w3.org/hg/audio/raw-file/tip/streams/StreamProcessing.html
[8] http://dvcs.w3.org/hg/streams-api/raw-file/tip/Overview.htm
[9] http://dvcs.w3.org/hg/streams-api/raw-file/tip/Overview.htm#error-uris_for_streams
[10] http://www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/#interface-formdata
[11] http://www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/#the-send-method
Related Actions Items:
No related actions
Related emails:
  1. RE: Web Crypto Spec Updates for ArrayBufferView, ArrayBuffer, and Streams (from israelh@microsoft.com on 2013-05-02)
  2. Re: Web Crypto Spec Updates for ArrayBufferView, ArrayBuffer, and Streams (from sleevi@google.com on 2013-04-26)
  3. [minutes] Re: W3C Web Crypto WG - monday 4th of march (from wseltzer@w3.org on 2013-03-04)
  4. Re: W3C Web Crypto WG - agenda for our call on monday 4th of march @ 20:00 UTC (today) (from hhalpin@w3.org on 2013-03-04)
  5. Re: W3C Web Crypto WG - agenda for our call on monday 4th of march @ 20:00 UTC (today) (from hhalpin@w3.org on 2013-03-04)
  6. RE: W3C Web Crypto WG - agenda for our call on monday 4th of march @ 20:00 UTC (today) (from Virginie.GALINDO@gemalto.com on 2013-03-04)
  7. Re: W3C Web Crypto WG - agenda for our call on monday 4th of march @ 20:00 UTC (today) (from hhalpin@w3.org on 2013-03-04)
  8. RE: ISSUE 22 - Re: Incomplete blocks (from Virginie.GALINDO@gemalto.com on 2013-02-26)
  9. Re: ISSUE 22 - Re: Incomplete blocks (from sleevi@google.com on 2013-02-25)
  10. W3C Web Crypto WG - take away of our 18th of Feb conf call (from Virginie.GALINDO@gemalto.com on 2013-02-25)
  11. RE: ISSUE 22 - Re: Incomplete blocks (from Virginie.GALINDO@gemalto.com on 2013-02-25)
  12. Re: W3C Web Crypto WG - agenda for our call on monday 18th of Feb @ 20:00 UTC (from hhalpin@w3.org on 2013-02-18)
  13. W3C Web Crypto WG - agenda for our call on monday 18th of Feb @ 20:00 UTC (from Virginie.GALINDO@gemalto.com on 2013-02-17)
  14. Re: PROPOSAL: Close ISSUE-18: Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics? (from rbarnes@bbn.com on 2013-02-08)
  15. Re: PROPOSAL: Close ISSUE-18: Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics? (from sleevi@google.com on 2013-02-07)
  16. RE: PROPOSAL: Close ISSUE-18: Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics? (from Virginie.GALINDO@gemalto.com on 2013-02-07)
  17. Re: PROPOSAL: Close ISSUE-18: Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics? (from sleevi@google.com on 2013-02-06)
  18. Re: PROPOSAL: Close ISSUE-18: Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics? (from rbarnes@bbn.com on 2013-02-05)
  19. Re: PROPOSAL: Close ISSUE-18: Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics? (from sleevi@google.com on 2013-02-04)
  20. Re: PROPOSAL: Close ISSUE-18: Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics? (from rbarnes@bbn.com on 2013-02-04)
  21. Re: W3C Web Crypto WG - agenda for our call today @ 20:00 UTC (from watsonm@netflix.com on 2013-02-04)
  22. RE: W3C Web Crypto WG - agenda for our call today @ 20:00 UTC (from Asad.Ali@gemalto.com on 2013-02-04)
  23. Re: W3C Web Crypto WG - agenda for our call today @ 20:00 UTC (from S.Durbha@cablelabs.com on 2013-02-04)
  24. W3C Web Crypto WG - agenda for our call today @ 20:00 UTC (from Virginie.GALINDO@gemalto.com on 2013-02-04)
  25. PROPOSAL: Close ISSUE-18: Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics? (from sleevi@google.com on 2013-01-31)
  26. W3C WebCrypto meeting minutes (from hhalpin@w3.org on 2012-09-24)
  27. Re: crypto-ISSUE-18: Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics? [Web Cryptography API] (from sleevi@google.com on 2012-09-12)
  28. ArrayBuffer v ArrayBufferView (was JS examples) (from sleevi@google.com on 2012-09-06)
  29. Re: JS code examples for ACTION 43 (from sleevi@google.com on 2012-09-06)
  30. Re: crypto-ISSUE-24: Defining a Synchronous API [Web Cryptography API] (from watsonm@netflix.com on 2012-08-20)
  31. Re: crypto-ISSUE-24: Defining a Synchronous API [Web Cryptography API] (from sleevi@google.com on 2012-08-20)
  32. Re: crypto-ISSUE-24: Defining a Synchronous API [Web Cryptography API] (from watsonm@netflix.com on 2012-08-20)
  33. crypto-ISSUE-24: Defining a Synchronous API [Web Cryptography API] (from sysbot+tracker@w3.org on 2012-08-20)
  34. Re: New Editor's Draft (from sleevi@google.com on 2012-08-17)
  35. RE: New Editor's Draft (from Vijay.Bharadwaj@microsoft.com on 2012-08-14)
  36. RE: crypto-ISSUE-18: Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics? [Web Cryptography API] (from Vijay.Bharadwaj@microsoft.com on 2012-08-14)
  37. Re: New Editor's Draft (from sleevi@google.com on 2012-08-09)
  38. Re: New Editor's Draft (from sleevi@google.com on 2012-08-09)
  39. Re: crypto-ISSUE-18: Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics? [Web Cryptography API] (from sleevi@google.com on 2012-08-06)
  40. crypto-ISSUE-18: Should it be possible to perform CryptoOperations as a 'streaming' operation with URI semantics? [Web Cryptography API] (from sysbot+tracker@w3.org on 2012-08-06)

Related notes:

Editor suggest to keep this issue for after the FPWD (see http://lists.w3.org/Archives/Public/public-webcrypto/2012Aug/0035.html)

Virginie GALINDO, 13 Aug 2012, 14:23:18

As mentionned in the Take Away from the 18th of Feb conf call, the issue is closed, with that reason that the feature will not be adressed.
It may be re-open by folks discussing the Incomplete Block thread related initially to Issue 22.

Virginie GALINDO, 25 Feb 2013, 16:31:36

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: 18.html,v 1.1 2017/02/13 16:16:50 ted Exp $