-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Adding support for cipher suite selection in websockets transport #2135
Conversation
Merge to master
changes and additions to mutex unlocking in textroom and videoroom plugins to improve stability
adding support for existing screenshareFrameRate property as well as new screenshareHeight and screenshareWidth properties in getDisplayMedia
removing default Janus screenshare frame rate and allowing browser to determine default code style updates
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Just added a small note on the config file.
certificates: { | ||
#cert_pem = "/path/to/cert.pem" | ||
#cert_key = "/path/to/key.pem" | ||
#cert_pwd = "secretpassphrase" | ||
#ciphers = "DEFAULT" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd probably set a reasonable default here, like the one we have in the HTTP config file; something that gives people an idea of what the syntax looks like. The example you made in the description may be too long for that, but something along those lines maybe.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've updated the example cipher string to the two ECDHE ciphers that are supported universally across all modern browsers, and I've linked out to the OWASP page with additional details on cipher strings and browser compatibility.
Thanks, merging! 👍 |
This PR is modeled after the commits from #1219 and adds cipher suite selection for the websockets transport by setting 'ssl_cipher_list' on the 'lws_context_creation_info' struct to a 'ciphers' value in the websocket transport config. If this value isn't configured, a null is passed in and there is no behavior change. We've tested it with the cipher suites recommended by OWASP for secure protocols and everything is working as expected.
Example config:
ciphers = "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256";