comparison mod_s2s_auth_dane/mod_s2s_auth_dane.lua @ 1261:6a37bd22c8df

mod_s2s_auth_dane: Warn about unsupported DANE params
author Kim Alvefur <zash@zash.se>
date Fri, 03 Jan 2014 15:00:05 +0100
parents fc82d8eded7d
children 1e84eebf3f46
comparison
equal deleted inserted replaced
1260:4e14ad802d58 1261:6a37bd22c8df
58 58
59 if select == 0 then 59 if select == 0 then
60 certdata = pem2der(cert:pem()); 60 certdata = pem2der(cert:pem());
61 elseif select == 1 then 61 elseif select == 1 then
62 certdata = pem2der(cert:pubkey()); 62 certdata = pem2der(cert:pubkey());
63 else
64 module:log("warn", "DANE selector %d is unsupported", select);
63 end 65 end
64 if match == 1 then 66 if match == 1 then
65 certdata = hashes.sha256(certdata); 67 certdata = hashes.sha256(certdata);
66 elseif match == 2 then 68 elseif match == 2 then
67 certdata = hashes.sha512(certdata); 69 certdata = hashes.sha512(certdata);
70 elseif match ~= 0 then
71 module:log("warn", "DANE match rule %d is unsupported", match);
72 certdata = nil
68 end 73 end
69 74
70 -- Should we check if the cert subject matches? 75 -- Should we check if the cert subject matches?
71 if certdata == tlsa.data then 76 if certdata and certdata == tlsa.data then
72 (session.log or module._log)("info", "DANE validation successful"); 77 (session.log or module._log)("info", "DANE validation successful");
73 session.cert_identity_status = "valid" 78 session.cert_identity_status = "valid"
74 if use == 3 then 79 if use == 3 then
75 session.cert_chain_status = "valid" 80 session.cert_chain_status = "valid"
76 -- for usage 1 the chain has to be valid already 81 -- for usage 1 the chain has to be valid already
77 end 82 end
78 break; 83 break;
79 end 84 end
80 else 85 else
81 module:log("warn", "DANE %s is unsupported", tlsa:getUsage()); 86 module:log("warn", "DANE %s is unsupported", tlsa:getUsage() or ("usage "..tostring(use)));
82 -- TODO Ca checks needs to loop over the chain and stuff 87 -- TODO Ca checks needs to loop over the chain and stuff
83 end 88 end
84 end 89 end
85 end 90 end
86 91