Comparison

core/certmanager.lua @ 3670:d6ba317cbc97

certmanager: Add required verify flags for cert verification if LuaSec (probably) supports them
author Matthew Wild <mwild1@gmail.com>
date Sun, 28 Nov 2010 21:09:55 +0000
parent 3609:954b1159f2f3
child 4359:c69cbac4178f
comparison
equal deleted inserted replaced
3669:4b56cd1302d4 3670:d6ba317cbc97
20 module "certmanager" 20 module "certmanager"
21 21
22 -- Global SSL options if not overridden per-host 22 -- Global SSL options if not overridden per-host
23 local default_ssl_config = configmanager.get("*", "core", "ssl"); 23 local default_ssl_config = configmanager.get("*", "core", "ssl");
24 local default_capath = "/etc/ssl/certs"; 24 local default_capath = "/etc/ssl/certs";
25 local default_verify = (ssl and ssl.x509 and { "peer", "client_once", "continue", "ignore_purpose" }) or "none";
26 local default_options = { "no_sslv2" };
25 27
26 function create_context(host, mode, user_ssl_config) 28 function create_context(host, mode, user_ssl_config)
27 user_ssl_config = user_ssl_config or default_ssl_config; 29 user_ssl_config = user_ssl_config or default_ssl_config;
28 30
29 if not ssl then return nil, "LuaSec (required for encryption) was not found"; end 31 if not ssl then return nil, "LuaSec (required for encryption) was not found"; end
35 key = resolve_path(config_path, user_ssl_config.key); 37 key = resolve_path(config_path, user_ssl_config.key);
36 password = user_ssl_config.password; 38 password = user_ssl_config.password;
37 certificate = resolve_path(config_path, user_ssl_config.certificate); 39 certificate = resolve_path(config_path, user_ssl_config.certificate);
38 capath = resolve_path(config_path, user_ssl_config.capath or default_capath); 40 capath = resolve_path(config_path, user_ssl_config.capath or default_capath);
39 cafile = resolve_path(config_path, user_ssl_config.cafile); 41 cafile = resolve_path(config_path, user_ssl_config.cafile);
40 verify = user_ssl_config.verify or "none"; 42 verify = user_ssl_config.verify or default_verify;
41 options = user_ssl_config.options or "no_sslv2"; 43 options = user_ssl_config.options or default_options;
42 ciphers = user_ssl_config.ciphers; 44 ciphers = user_ssl_config.ciphers;
43 depth = user_ssl_config.depth; 45 depth = user_ssl_config.depth;
44 }; 46 };
45 47
46 local ctx, err = ssl_newcontext(ssl_config); 48 local ctx, err = ssl_newcontext(ssl_config);