Web crypto doesn't support streaming hashes, and the current non-standard crypto.DigestStream is hash only (no keys), so it is impossible to compute a streaming HMAC without pulling in a JS implementation (which is more costly and less efficient).
Would love to have a similar crypto.KeyedDigestStream or even crypto.HmacStream since this is a very common signature in practice.
Thanks!
- John
Update: crypto.subtle.sign('HMAC', cryptoKey, bytesIter) would be even better (see below)