Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

serverCertificateHashes #54

Open
martenrichter opened this issue Jan 3, 2024 · 4 comments
Open

serverCertificateHashes #54

martenrichter opened this issue Jan 3, 2024 · 4 comments
Labels
addition/proposal New features or enhancements needs implementer interest Moving the issue forward requires implementers to express interest

Comments

@martenrichter
Copy link

martenrichter commented Jan 3, 2024

What problem are you trying to solve?

Authenticate with a vm that is spun up automatically and does not have a certificate signed by valid certificate chain.

What solutions exist today?

For webtransport, the option "serverCertificateHashes" exists, which will be soon be supported by at least two major browser engines.
For now, in environments with only TCP/IP support the alternative transports over http/2 are not implemented yet and one major browser has no webtransport support at all. So if websockets are used as fallback, they need a different certificate chain than the webtransport, if serverCertificateHashes would be used.

How would you solve it?

Support for serverCertificateHashes, may be use as alternative second argument to the WebSocket contructor an options object:

new WebSocket(url, {protocols: [...], serverCertificateHashes: [...]}

this would allow to run the WebTransport fallback in the same way as the WebTransport connection.

Anything else?

Depending on the implementation side effects to the fetch api need to be considered.

@martenrichter martenrichter added addition/proposal New features or enhancements needs implementer interest Moving the issue forward requires implementers to express interest labels Jan 3, 2024
@ricea
Copy link
Collaborator

ricea commented Jan 9, 2024

I'm not sure it would be faster to specify and implement this for WebSockets than to add HTTP/2 transport and missing browser support to WebTransport. In both cases you're blocked on implementations catching up. WebTransport has more momentum at the moment, so I would expect it to cross the finish line first.

@martenrichter
Copy link
Author

Well, this is true... the implementations are the blocking point.

@Tomroger2525

This comment was marked as duplicate.

@martenrichter
Copy link
Author

I think again about this point. I see little progress regarding http2 implementation in web transport. (Correct me if I am wrong)
Implementing a server certificate hashes mechanism is relatively easy (I contributed to the gecko webtransport patch as this feature is really essential), even if one would do it for the major browser engines.
So the question is, would there be support?
This way, my web transport over WebSocket polyfill can fill the application gap until an http2 implementation arrives.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
addition/proposal New features or enhancements needs implementer interest Moving the issue forward requires implementers to express interest
Development

No branches or pull requests

3 participants