diff options
author | jsing <> | 2015-09-14 16:16:38 +0000 |
---|---|---|
committer | jsing <> | 2015-09-14 16:16:38 +0000 |
commit | 0e84a3939e912f6a384416b3af214fe8d44ff343 (patch) | |
tree | c19ebb2220b683828ca94f71006134cbdaa38ebd /src/lib | |
parent | 0f763b25777f63f3832ab70f6b1fccb6ee041476 (diff) | |
download | openbsd-0e84a3939e912f6a384416b3af214fe8d44ff343.tar.gz openbsd-0e84a3939e912f6a384416b3af214fe8d44ff343.tar.bz2 openbsd-0e84a3939e912f6a384416b3af214fe8d44ff343.zip |
Provide tls_config_insecure_noverifytime() in order to be able to disable
certificate validity checking.
ok beck@
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libtls/Makefile | 3 | ||||
-rw-r--r-- | src/lib/libtls/tls.c | 7 | ||||
-rw-r--r-- | src/lib/libtls/tls.h | 3 | ||||
-rw-r--r-- | src/lib/libtls/tls_config.c | 9 | ||||
-rw-r--r-- | src/lib/libtls/tls_init.3 | 10 | ||||
-rw-r--r-- | src/lib/libtls/tls_internal.h | 3 |
6 files changed, 29 insertions, 6 deletions
diff --git a/src/lib/libtls/Makefile b/src/lib/libtls/Makefile index 2e6c48716c..679aabb9ed 100644 --- a/src/lib/libtls/Makefile +++ b/src/lib/libtls/Makefile | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: Makefile,v 1.20 2015/09/14 14:29:30 jmc Exp $ | 1 | # $OpenBSD: Makefile,v 1.21 2015/09/14 16:16:38 jsing Exp $ |
2 | 2 | ||
3 | CFLAGS+= -Wall -Werror -Wimplicit | 3 | CFLAGS+= -Wall -Werror -Wimplicit |
4 | CFLAGS+= -DLIBRESSL_INTERNAL | 4 | CFLAGS+= -DLIBRESSL_INTERNAL |
@@ -44,6 +44,7 @@ MLINKS+=tls_init.3 tls_config_prefer_ciphers_server.3 | |||
44 | MLINKS+=tls_init.3 tls_config_clear_keys.3 | 44 | MLINKS+=tls_init.3 tls_config_clear_keys.3 |
45 | MLINKS+=tls_init.3 tls_config_insecure_noverifycert.3 | 45 | MLINKS+=tls_init.3 tls_config_insecure_noverifycert.3 |
46 | MLINKS+=tls_init.3 tls_config_insecure_noverifyname.3 | 46 | MLINKS+=tls_init.3 tls_config_insecure_noverifyname.3 |
47 | MLINKS+=tls_init.3 tls_config_insecure_noverifytime.3 | ||
47 | MLINKS+=tls_init.3 tls_config_verify.3 | 48 | MLINKS+=tls_init.3 tls_config_verify.3 |
48 | MLINKS+=tls_init.3 tls_config_verify_client.3 | 49 | MLINKS+=tls_init.3 tls_config_verify_client.3 |
49 | MLINKS+=tls_init.3 tls_config_verify_client_optional.3 | 50 | MLINKS+=tls_init.3 tls_config_verify_client_optional.3 |
diff --git a/src/lib/libtls/tls.c b/src/lib/libtls/tls.c index 236ed9185b..ac9262a4fc 100644 --- a/src/lib/libtls/tls.c +++ b/src/lib/libtls/tls.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls.c,v 1.31 2015/09/14 12:29:16 jsing Exp $ */ | 1 | /* $OpenBSD: tls.c,v 1.32 2015/09/14 16:16:38 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -257,6 +257,11 @@ tls_configure_ssl(struct tls *ctx) | |||
257 | } | 257 | } |
258 | } | 258 | } |
259 | 259 | ||
260 | if (ctx->config->verify_time == 0) { | ||
261 | X509_VERIFY_PARAM_set_flags(ctx->ssl_ctx->param, | ||
262 | X509_V_FLAG_NO_CHECK_TIME); | ||
263 | } | ||
264 | |||
260 | return (0); | 265 | return (0); |
261 | 266 | ||
262 | err: | 267 | err: |
diff --git a/src/lib/libtls/tls.h b/src/lib/libtls/tls.h index 442fe35064..670ad0d711 100644 --- a/src/lib/libtls/tls.h +++ b/src/lib/libtls/tls.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls.h,v 1.23 2015/09/13 10:32:46 beck Exp $ */ | 1 | /* $OpenBSD: tls.h,v 1.24 2015/09/14 16:16:38 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -71,6 +71,7 @@ void tls_config_prefer_ciphers_server(struct tls_config *_config); | |||
71 | 71 | ||
72 | void tls_config_insecure_noverifycert(struct tls_config *_config); | 72 | void tls_config_insecure_noverifycert(struct tls_config *_config); |
73 | void tls_config_insecure_noverifyname(struct tls_config *_config); | 73 | void tls_config_insecure_noverifyname(struct tls_config *_config); |
74 | void tls_config_insecure_noverifytime(struct tls_config *_config); | ||
74 | void tls_config_verify(struct tls_config *_config); | 75 | void tls_config_verify(struct tls_config *_config); |
75 | 76 | ||
76 | void tls_config_verify_client(struct tls_config *_config); | 77 | void tls_config_verify_client(struct tls_config *_config); |
diff --git a/src/lib/libtls/tls_config.c b/src/lib/libtls/tls_config.c index 4d536853c8..d5beb38f3e 100644 --- a/src/lib/libtls/tls_config.c +++ b/src/lib/libtls/tls_config.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls_config.c,v 1.12 2015/09/10 09:10:42 jsing Exp $ */ | 1 | /* $OpenBSD: tls_config.c,v 1.13 2015/09/14 16:16:38 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -309,10 +309,17 @@ tls_config_insecure_noverifyname(struct tls_config *config) | |||
309 | } | 309 | } |
310 | 310 | ||
311 | void | 311 | void |
312 | tls_config_insecure_noverifytime(struct tls_config *config) | ||
313 | { | ||
314 | config->verify_time = 0; | ||
315 | } | ||
316 | |||
317 | void | ||
312 | tls_config_verify(struct tls_config *config) | 318 | tls_config_verify(struct tls_config *config) |
313 | { | 319 | { |
314 | config->verify_cert = 1; | 320 | config->verify_cert = 1; |
315 | config->verify_name = 1; | 321 | config->verify_name = 1; |
322 | config->verify_time = 1; | ||
316 | } | 323 | } |
317 | 324 | ||
318 | void | 325 | void |
diff --git a/src/lib/libtls/tls_init.3 b/src/lib/libtls/tls_init.3 index feef85dcb6..12a8e4bcf7 100644 --- a/src/lib/libtls/tls_init.3 +++ b/src/lib/libtls/tls_init.3 | |||
@@ -1,4 +1,4 @@ | |||
1 | .\" $OpenBSD: tls_init.3,v 1.47 2015/09/14 15:14:55 schwarze Exp $ | 1 | .\" $OpenBSD: tls_init.3,v 1.48 2015/09/14 16:16:38 jsing Exp $ |
2 | .\" | 2 | .\" |
3 | .\" Copyright (c) 2014 Ted Unangst <tedu@openbsd.org> | 3 | .\" Copyright (c) 2014 Ted Unangst <tedu@openbsd.org> |
4 | .\" | 4 | .\" |
@@ -40,6 +40,7 @@ | |||
40 | .Nm tls_config_clear_keys , | 40 | .Nm tls_config_clear_keys , |
41 | .Nm tls_config_insecure_noverifycert , | 41 | .Nm tls_config_insecure_noverifycert , |
42 | .Nm tls_config_insecure_noverifyname , | 42 | .Nm tls_config_insecure_noverifyname , |
43 | .Nm tls_config_insecure_noverifytime , | ||
43 | .Nm tls_config_verify , | 44 | .Nm tls_config_verify , |
44 | .Nm tls_config_verify_client , | 45 | .Nm tls_config_verify_client , |
45 | .Nm tls_config_verify_client_optional , | 46 | .Nm tls_config_verify_client_optional , |
@@ -114,6 +115,8 @@ | |||
114 | .Ft "void" | 115 | .Ft "void" |
115 | .Fn tls_config_insecure_noverifyname "struct tls_config *config" | 116 | .Fn tls_config_insecure_noverifyname "struct tls_config *config" |
116 | .Ft "void" | 117 | .Ft "void" |
118 | .Fn tls_config_insecure_noverifytime "struct tls_config *config" | ||
119 | .Ft "void" | ||
117 | .Fn tls_config_verify "struct tls_config *config" | 120 | .Fn tls_config_verify "struct tls_config *config" |
118 | .Ft "void" | 121 | .Ft "void" |
119 | .Fn tls_config_verify_client "struct tls_config *config" | 122 | .Fn tls_config_verify_client "struct tls_config *config" |
@@ -365,6 +368,11 @@ disables server name verification. | |||
365 | Be careful when using this option. | 368 | Be careful when using this option. |
366 | .Em (Client) | 369 | .Em (Client) |
367 | .It | 370 | .It |
371 | .Fn tls_config_insecure_noverifytime | ||
372 | disables validity checking of certificate. | ||
373 | Be careful when using this option. | ||
374 | .Em (Client and server) | ||
375 | .It | ||
368 | .Fn tls_config_verify | 376 | .Fn tls_config_verify |
369 | reenables server name and certificate verification. | 377 | reenables server name and certificate verification. |
370 | .Em (Client) | 378 | .Em (Client) |
diff --git a/src/lib/libtls/tls_internal.h b/src/lib/libtls/tls_internal.h index 320f1fbfaa..8128c05dfc 100644 --- a/src/lib/libtls/tls_internal.h +++ b/src/lib/libtls/tls_internal.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls_internal.h,v 1.23 2015/09/14 12:29:16 jsing Exp $ */ | 1 | /* $OpenBSD: tls_internal.h,v 1.24 2015/09/14 16:16:38 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2014 Jeremie Courreges-Anglas <jca@openbsd.org> | 3 | * Copyright (c) 2014 Jeremie Courreges-Anglas <jca@openbsd.org> |
4 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 4 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
@@ -46,6 +46,7 @@ struct tls_config { | |||
46 | int verify_client; | 46 | int verify_client; |
47 | int verify_depth; | 47 | int verify_depth; |
48 | int verify_name; | 48 | int verify_name; |
49 | int verify_time; | ||
49 | }; | 50 | }; |
50 | 51 | ||
51 | struct tls_conninfo { | 52 | struct tls_conninfo { |