Skip to content

Commit 55f2468

Browse files
committed
Merge pull request #787 from hyperium/openssl-ciphers
fix(ssl): use secure ciphers by default in openssl
2 parents 1a0be10 + 54bf6ad commit 55f2468

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/net.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,7 @@ pub type DefaultConnector = HttpConnector;
606606

607607
#[cfg(feature = "openssl")]
608608
#[doc(hidden)]
609-
pub type DefaultConnector = HttpsConnector<self::openssl::Openssl>;
609+
pub type DefaultConnector = HttpsConnector<self::openssl::OpensslClient>;
610610

611611
#[cfg(all(feature = "security-framework", not(feature = "openssl")))]
612612
pub type DefaultConnector = HttpsConnector<self::security_framework::ClientWrapper>;
@@ -619,7 +619,7 @@ mod openssl {
619619
use std::sync::Arc;
620620
use std::time::Duration;
621621

622-
use openssl::ssl::{Ssl, SslContext, SslStream, SslMethod, SSL_VERIFY_NONE, SSL_VERIFY_PEER, SSL_OP_NO_SSLV2, SSL_OP_NO_SSLV3};
622+
use openssl::ssl::{Ssl, SslContext, SslStream, SslMethod, SSL_VERIFY_NONE, SSL_VERIFY_PEER, SSL_OP_NO_SSLV2, SSL_OP_NO_SSLV3, SSL_OP_NO_COMPRESSION};
623623
use openssl::ssl::error::StreamError as SslIoError;
624624
use openssl::ssl::error::SslError;
625625
use openssl::x509::X509FileType;
@@ -653,7 +653,10 @@ mod openssl {
653653
fn default() -> OpensslClient {
654654
let mut ctx = SslContext::new(SslMethod::Sslv23).unwrap();
655655
ctx.set_default_verify_paths().unwrap();
656-
ctx.set_options(SSL_OP_NO_SSLV2 | SSL_OP_NO_SSLV3);
656+
ctx.set_options(SSL_OP_NO_SSLV2 | SSL_OP_NO_SSLV3 | SSL_OP_NO_COMPRESSION);
657+
// cipher list taken from curl:
658+
// https://github.com/curl/curl/blob/5bf5f6ebfcede78ef7c2b16daa41c4b7ba266087/lib/vtls/openssl.h#L120
659+
ctx.set_cipher_list("ALL!EXPORT!EXPORT40!EXPORT56!aNULL!LOW!RC4@STRENGTH").unwrap();
657660
OpensslClient(ctx)
658661
}
659662
}

0 commit comments

Comments
 (0)