Update ssl_min_version to accept "all" and reject "SSLv2"
This commit is contained in:
@@ -28,7 +28,7 @@ SSL サポートについて
|
|||||||
5: TLSv1.1, 6: TLSv1.2, 7: TLSv1.3)
|
5: TLSv1.1, 6: TLSv1.2, 7: TLSv1.3)
|
||||||
(デフォルトは2, 3, t, 5).
|
(デフォルトは2, 3, t, 5).
|
||||||
ssl_min_version
|
ssl_min_version
|
||||||
最小のSSLバージョン, OpenSSL 1.1以上で有効(TLSv1.0, TLSv1.1,
|
最小のSSLバージョン, OpenSSL 1.1以上で有効(all, TLSv1.0, TLSv1.1,
|
||||||
TLSv1.2, TLSv1.3のいずれか) (デフォルトは<NULL>).
|
TLSv1.2, TLSv1.3のいずれか) (デフォルトは<NULL>).
|
||||||
ssl_ciphers
|
ssl_ciphers
|
||||||
TLSv1.2以下用のSSL暗号(例: DEFAULT:@SECLEVEL=2) (デフォルトは
|
TLSv1.2以下用のSSL暗号(例: DEFAULT:@SECLEVEL=2) (デフォルトは
|
||||||
|
|||||||
2
rc.c
2
rc.c
@@ -206,7 +206,7 @@ static int OptionEncode = FALSE;
|
|||||||
#endif /* USE_SSL_VERIFY */
|
#endif /* USE_SSL_VERIFY */
|
||||||
#define CMT_SSL_FORBID_METHOD N_("List of forbidden SSL methods (2: SSLv2, 3: SSLv3, t: TLSv1.0, 5: TLSv1.1, 6: TLSv1.2, 7: TLSv1.3)")
|
#define CMT_SSL_FORBID_METHOD N_("List of forbidden SSL methods (2: SSLv2, 3: SSLv3, t: TLSv1.0, 5: TLSv1.1, 6: TLSv1.2, 7: TLSv1.3)")
|
||||||
#ifdef SSL_CTX_set_min_proto_version
|
#ifdef SSL_CTX_set_min_proto_version
|
||||||
#define CMT_SSL_MIN_VERSION N_("Minimum SSL version (TLSv1.0, TLSv1.1, TLSv1.2, or TLSv1.3)")
|
#define CMT_SSL_MIN_VERSION N_("Minimum SSL version (all, TLSv1.0, TLSv1.1, TLSv1.2, or TLSv1.3)")
|
||||||
#endif
|
#endif
|
||||||
#define CMT_SSL_CIPHER N_("SSL ciphers for TLSv1.2 and below (e.g. DEFAULT:@SECLEVEL=2)")
|
#define CMT_SSL_CIPHER N_("SSL ciphers for TLSv1.2 and below (e.g. DEFAULT:@SECLEVEL=2)")
|
||||||
#endif /* USE_SSL */
|
#endif /* USE_SSL */
|
||||||
|
|||||||
12
url.c
12
url.c
@@ -297,6 +297,10 @@ init_PRNG()
|
|||||||
static int
|
static int
|
||||||
str_to_ssl_version(const char *name)
|
str_to_ssl_version(const char *name)
|
||||||
{
|
{
|
||||||
|
if(!strcasecmp(name, "all"))
|
||||||
|
return 0;
|
||||||
|
if(!strcasecmp(name, "none"))
|
||||||
|
return 0;
|
||||||
#ifdef TLS1_3_VERSION
|
#ifdef TLS1_3_VERSION
|
||||||
if (!strcasecmp(name, "TLSv1.3"))
|
if (!strcasecmp(name, "TLSv1.3"))
|
||||||
return TLS1_3_VERSION;
|
return TLS1_3_VERSION;
|
||||||
@@ -317,11 +321,7 @@ str_to_ssl_version(const char *name)
|
|||||||
return SSL3_VERSION;
|
return SSL3_VERSION;
|
||||||
if (!strcasecmp(name, "SSLv3"))
|
if (!strcasecmp(name, "SSLv3"))
|
||||||
return SSL3_VERSION;
|
return SSL3_VERSION;
|
||||||
if (!strcasecmp(name, "SSLv2.0"))
|
return -1;
|
||||||
return SSL2_VERSION;
|
|
||||||
if (!strcasecmp(name, "SSLv2"))
|
|
||||||
return SSL2_VERSION;
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
#endif /* SSL_CTX_set_min_proto_version */
|
#endif /* SSL_CTX_set_min_proto_version */
|
||||||
|
|
||||||
@@ -372,7 +372,7 @@ openSSLHandle(int sock, char *hostname, char **p_cert)
|
|||||||
if (ssl_min_version && *ssl_min_version != '\0') {
|
if (ssl_min_version && *ssl_min_version != '\0') {
|
||||||
int sslver;
|
int sslver;
|
||||||
sslver = str_to_ssl_version(ssl_min_version);
|
sslver = str_to_ssl_version(ssl_min_version);
|
||||||
if (sslver <= 0
|
if (sslver < 0
|
||||||
|| !SSL_CTX_set_min_proto_version(ssl_ctx, sslver)) {
|
|| !SSL_CTX_set_min_proto_version(ssl_ctx, sslver)) {
|
||||||
free_ssl_ctx();
|
free_ssl_ctx();
|
||||||
goto eend;
|
goto eend;
|
||||||
|
|||||||
Reference in New Issue
Block a user