aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src/ssl.erl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2015-03-09 15:13:51 +0100
committerIngela Anderton Andin <[email protected]>2015-03-09 15:13:51 +0100
commitad771692fec71f2929bdc715cc44ca24757c75f3 (patch)
tree55f6d72d26b6e515bb3aa71ebd1dc4d7f0714081 /lib/ssl/src/ssl.erl
parent6c59d3f422ca9ee1687abda43cf553eea09d78bf (diff)
parentd4fd18e715954d0310deb4ccbedebe0bddcef82c (diff)
downloadotp-ad771692fec71f2929bdc715cc44ca24757c75f3.tar.gz
otp-ad771692fec71f2929bdc715cc44ca24757c75f3.tar.bz2
otp-ad771692fec71f2929bdc715cc44ca24757c75f3.zip
Merge branch 'ia/ssl/crl-cache/OTP-10362'
* ia/ssl/crl-cache/OTP-10362: ssl: fix white box tests ssl: Integrate public_key CRL verification with the ssl application
Diffstat (limited to 'lib/ssl/src/ssl.erl')
-rw-r--r--lib/ssl/src/ssl.erl12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/ssl/src/ssl.erl b/lib/ssl/src/ssl.erl
index 973b579f97..623fa92121 100644
--- a/lib/ssl/src/ssl.erl
+++ b/lib/ssl/src/ssl.erl
@@ -654,7 +654,9 @@ handle_options(Opts0) ->
honor_cipher_order = handle_option(honor_cipher_order, Opts, false),
protocol = proplists:get_value(protocol, Opts, tls),
padding_check = proplists:get_value(padding_check, Opts, true),
- fallback = proplists:get_value(fallback, Opts, false)
+ fallback = proplists:get_value(fallback, Opts, false),
+ crl_check = handle_option(crl_check, Opts, false),
+ crl_cache = handle_option(crl_cache, Opts, {ssl_crl_cache, {internal, []}})
},
CbInfo = proplists:get_value(cb_info, Opts, {gen_tcp, tcp, tcp_closed, tcp_error}),
@@ -667,7 +669,7 @@ handle_options(Opts0) ->
cb_info, renegotiate_at, secure_renegotiate, hibernate_after,
erl_dist, next_protocols_advertised,
client_preferred_next_protocols, log_alert,
- server_name_indication, honor_cipher_order, padding_check,
+ server_name_indication, honor_cipher_order, padding_check, crl_check, crl_cache,
fallback],
SockOpts = lists:foldl(fun(Key, PropList) ->
@@ -850,6 +852,12 @@ validate_option(padding_check, Value) when is_boolean(Value) ->
Value;
validate_option(fallback, Value) when is_boolean(Value) ->
Value;
+validate_option(crl_check, Value) when is_boolean(Value) ->
+ Value;
+validate_option(crl_check, Value) when (Value == best_effort) or (Value == peer) ->
+ Value;
+validate_option(crl_cache, {Cb, {_Handle, Options}} = Value) when is_atom(Cb) and is_list(Options) ->
+ Value;
validate_option(Opt, Value) ->
throw({error, {options, {Opt, Value}}}).