-
-
Notifications
You must be signed in to change notification settings - Fork 378
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
Specify DTLS handshake cipher suite? #1333
Comments
Aha, thanks. Everything works if I specify the cipher manually: diff --git a/src/impl/dtlstransport.cpp b/src/impl/dtlstransport.cpp
index e2c389bf..3ef82d98 100644
--- a/src/impl/dtlstransport.cpp
+++ b/src/impl/dtlstransport.cpp
@@ -761,7 +761,7 @@ DtlsTransport::DtlsTransport(shared_ptr<IceTransport> lower, certificate_ptr cer
CertificateCallback);
SSL_CTX_set_verify_depth(mCtx, 1);
- openssl::check(SSL_CTX_set_cipher_list(mCtx, "ALL:!LOW:!EXP:!RC4:!MD5:@STRENGTH"),
+ openssl::check(SSL_CTX_set_cipher_list(mCtx, "ECDHE-ECDSA-AES128-GCM-SHA256"),
"Failed to set SSL priorities");
#if OPENSSL_VERSION_NUMBER >= 0x30000000 Would you accept a PR that makes it configurable? |
There's some interesting discussion here too - it seems the default list of ciphers is big enough to cause fragmentation of the Client Hello message - I haven't verified this but if that's the case it might be sensible to restrict the list of supported ciphers? Chrome's list is here, though this list is slightly smaller and doesn't cause fragmentation: SSL_CTX_set_cipher_list(
ctx, "ALL:!SHA256:!SHA384:!aPSK:!ECDSA+SHA1:!ADH:!LOW:!EXP:!MD5:!3DES:!SSLv3:!TLSv1"); This list would probably not need to be configurable. |
I'm trying to integrate with webtrc-rs, a rewrite of Pion in Rust.
I can dial webrtc-rs -> libdatachannel ok, that works.
If I dial libdatachannel -> webrtc-rs it gets stuck on the DTLS handshake.
The logs I see on the Rust side are:
Interestingly if I dial webrtc-rs -> webrtc-rs it works but I see a different cipher suite:
Chrome causes the same cipher suite to be logged:
...as does Firefox:
I'd like to try aligning the cipher suite used by libdatachannel with the one used by webrtc-rs to rule out this being the cause of the incompatibility, but I can't see an option.
Is it possible to specify what cipher suite to use?
The text was updated successfully, but these errors were encountered: