version= The version of SSL/TLS supported
1 automatic (default)
- 2 SSLv2 only
3 SSLv3 only
4 TLSv1.0 only
5 TLSv1.1 only
options= Various SSL implementation options. The most important
being:
- NO_SSLv2 Disallow the use of SSLv2
NO_SSLv3 Disallow the use of SSLv3
NO_TLSv1 Disallow the use of TLSv1.0
NO_TLSv1_1 Disallow the use of TLSv1.1
version= The version of SSL/TLS supported
1 automatic (default)
- 2 SSLv2 only
3 SSLv3 only
4 TLSv1 only
options= Various SSL engine options. The most important
being:
- NO_SSLv2 Disallow the use of SSLv2
NO_SSLv3 Disallow the use of SSLv3
NO_TLSv1 Disallow the use of TLSv1
SINGLE_DH_USE Always create a new key when using
The versions of SSL/TLS supported:
1 automatic (default)
- 2 SSLv2 only
3 SSLv3 only
4 TLSv1.0 only
5 TLSv1.1 only
The most important being:
- NO_SSLv2 Disallow the use of SSLv2
NO_SSLv3 Disallow the use of SSLv3
NO_TLSv1 Disallow the use of TLSv1.0
NO_TLSv1_1 Disallow the use of TLSv1.1
ssloptions=... Specify various SSL implementation options:
- NO_SSLv2 Disallow the use of SSLv2
NO_SSLv3 Disallow the use of SSLv3
NO_TLSv1 Disallow the use of TLSv1.0
NO_TLSv1_1 Disallow the use of TLSv1.1
ssl_options[] = {
-#if SSL_OP_MICROSOFT_SESS_ID_BUG
- {
- "MICROSOFT_SESS_ID_BUG", SSL_OP_MICROSOFT_SESS_ID_BUG
- },
-#endif
-#if SSL_OP_NETSCAPE_CHALLENGE_BUG
- {
- "NETSCAPE_CHALLENGE_BUG", SSL_OP_NETSCAPE_CHALLENGE_BUG
- },
-#endif
#if SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG
{
"NETSCAPE_REUSE_CIPHER_CHANGE_BUG", SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG
"MICROSOFT_BIG_SSLV3_BUFFER", SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER
},
#endif
-#if SSL_OP_MSIE_SSLV2_RSA_PADDING
- {
- "MSIE_SSLV2_RSA_PADDING", SSL_OP_MSIE_SSLV2_RSA_PADDING
- },
-#endif
#if SSL_OP_SSLEAY_080_CLIENT_DH_BUG
{
"SSLEAY_080_CLIENT_DH_BUG", SSL_OP_SSLEAY_080_CLIENT_DH_BUG
"NETSCAPE_DEMO_CIPHER_CHANGE_BUG", SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG
},
#endif
-#if SSL_OP_NO_SSLv2
- {
- "NO_SSLv2", SSL_OP_NO_SSLv2
- },
-#endif
#if SSL_OP_NO_SSLv3
{
"NO_SSLv3", SSL_OP_NO_SSLv3
safe_free(tmp);
no_options:
+#if SSL_OP_NO_SSLv2
+ // compliance with RFC 6176: Prohibiting Secure Sockets Layer (SSL) Version 2.0
+ op = op | SSL_OP_NO_SSLv2;
+#endif
return op;
}
switch (version) {
case 2:
-#if !defined(OPENSSL_NO_SSL2)
- debugs(83, 5, "Using SSLv2.");
- return SSLv2_client_method();
-#else
debugs(83, DBG_IMPORTANT, "SSLv2 is not available in this Proxy.");
return NULL;
-#endif
break;
case 3:
switch (version) {
case 2:
-#ifndef OPENSSL_NO_SSL2
- debugs(83, 5, "Using SSLv2.");
- return SSLv2_server_method();
-#else
debugs(83, DBG_IMPORTANT, "SSLv2 is not available in this Proxy.");
return NULL;
-#endif
break;
case 3:
switch (version) {
case 2:
-#ifndef OPENSSL_NO_SSL2
- debugs(83, 5, "Using SSLv2.");
- method = SSLv2_server_method();
-#else
debugs(83, DBG_IMPORTANT, "SSLv2 is not available in this Proxy.");
return NULL;
-#endif
break;
case 3: