Support serverCertificateHashes in the WebTransport constructor options
Categories
(Core :: Networking: HTTP, task, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox123 | --- | ? |
People
(Reporter: jesup, Assigned: u738353)
References
(Blocks 1 open bug)
Details
(Keywords: dev-doc-needed, Whiteboard: [necko-triaged])
Attachments
(1 file)
Updated•3 years ago
|
Comment 1•2 years ago
|
||
The libp2p (and thus IPFS) stack depends on this piece of WebTransport API.
Chromium implemented, so is working fine there.
We can't move to WebTransport on Firefox until this is implemented.
A full description of how it's being used is here: https://github.com/libp2p/js-libp2p/issues/1999
Do you have a rough ETA for when this will be implemented?
Looks like it's already triaged, but is not clear if it's coming soon or not for a very long time.
Thanks!
Comment 2•2 years ago
|
||
(In reply to Dietrich Ayala (:dietrich) from comment #1)
The libp2p (and thus IPFS) stack depends on this piece of WebTransport API.
Chromium implemented, so is working fine there.
We can't move to WebTransport on Firefox until this is implemented.
A full description of how it's being used is here: https://github.com/libp2p/js-libp2p/issues/1999
Do you have a rough ETA for when this will be implemented?
Looks like it's already triaged, but is not clear if it's coming soon or not for a very long time.
Thanks!
It's a bit difficult to give an ETA, since webtransport is not used widely.
However, I'll try to put this in our roadmap of 2024 H1.
Comment 3•2 years ago
|
||
Thanks Kershaw!
If we provide the patch, do you think you would be able to review and merge sooner?
since webtransport is not used widely.
Yes, the perennial web platform chicken and egg problem 😅
Comment 4•2 years ago
|
||
I think this should be easy to support.
First of all we need the cert hashes to be passed from the content constructor all the way to the parent.
Then in AsyncConnectWithClient where we create the channel we need to pass the hashes into the channel and save them.
Then in nsHttpChannel::OnStartRequest, after mSecurityInfo is set we need to compute the actual hash of the certificate, then compare it with the serverCertificateHashes from the webtransport constructor and if they don't match to abort the channel.
If someone were to implement this I think we can review and accept the patch.
Updated•2 years ago
|
Comment 5•2 years ago
|
||
Thanks :valentin for the implementation notes, and clear ok to implement!
Comment 7•2 years ago
|
||
Thanks. Let us know if you need any support.
This change implements the serverCertificateHashes option from the
Web Transport specification [1].
It includes an additional verification step in the OnStartRequest
callback after the web transpostion session has been negotiated, so
that we can be sure the certificate has been set in the security
info data structure.
[1] https://w3c.github.io/webtransport/#dom-webtransportoptions-servercertificatehashes
Updated•2 years ago
|
Comment 10•2 years ago
|
||
| bugherder | ||
Updated•2 years ago
|
| Assignee | ||
Comment 11•2 years ago
|
||
The bug 1873263 seems legit, so perhaps we could reopen this and mark is as dependent of 1873263.
Comment 12•2 years ago
|
||
I think it should be fine to just fix the issue in bug 1873263.
Updated•2 years ago
|
Updated•1 year ago
|
Description
•