From 041344d02adcb89de51a57e38dd51d2959a4e494 Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Sat, 21 Sep 2013 11:53:38 +0200 Subject: TLS properties: allows setting custom cipher suite for TLS/SSL connections. --- src/net/tls/openssl/TLSSession_OpenSSL.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/net/tls/openssl/TLSSession_OpenSSL.cpp') diff --git a/src/net/tls/openssl/TLSSession_OpenSSL.cpp b/src/net/tls/openssl/TLSSession_OpenSSL.cpp index fcf82c7b..953e4ebc 100644 --- a/src/net/tls/openssl/TLSSession_OpenSSL.cpp +++ b/src/net/tls/openssl/TLSSession_OpenSSL.cpp @@ -28,6 +28,7 @@ #include "vmime/net/tls/openssl/TLSSession_OpenSSL.hpp" +#include "vmime/net/tls/openssl/TLSProperties_OpenSSL.hpp" #include "vmime/net/tls/openssl/OpenSSLInitializer.hpp" #include "vmime/exception.hpp" @@ -45,19 +46,19 @@ static OpenSSLInitializer::autoInitializer openSSLInitializer; // static -ref TLSSession::create(ref cv) +ref TLSSession::create(ref cv, ref props) { - return vmime::create (cv); + return vmime::create (cv, props); } -TLSSession_OpenSSL::TLSSession_OpenSSL(ref cv) - : m_sslctx(0), m_certVerifier(cv) +TLSSession_OpenSSL::TLSSession_OpenSSL(ref cv, ref props) + : m_sslctx(0), m_certVerifier(cv), m_props(props) { m_sslctx = SSL_CTX_new(SSLv23_client_method()); SSL_CTX_set_options(m_sslctx, SSL_OP_ALL | SSL_OP_NO_SSLv2); SSL_CTX_set_mode(m_sslctx, SSL_MODE_AUTO_RETRY); - SSL_CTX_set_cipher_list(m_sslctx, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"); + SSL_CTX_set_cipher_list(m_sslctx, m_props->getCipherSuite().c_str()); SSL_CTX_set_session_cache_mode(m_sslctx, SSL_SESS_CACHE_OFF); } -- cgit v1.2.3