<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 6, 2016 at 5:07 PM, Jeremy Rowley <span dir="ltr"><<a href="mailto:jeremy.rowley@digicert.com" target="_blank">jeremy.rowley@digicert.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div class="m_5011447683982220769WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Hi Ryan, <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Pardon my DNS ignorance, but how does the server know which CNAME record to use in this case? If <a href="http://shop.domain.com" target="_blank">shop.domain.com</a> CNAMEs to <a href="http://digicert.com" target="_blank">digicert.com</a> and *.<a href="http://domain.com" target="_blank">domain.com</a> CNAMEs to <a href="http://google.com" target="_blank">google.com</a>, then how do you know which will resolve? There isn’t a weight/ordering preference for CNAME like there is TXT records. </span></p></div></div></blockquote><div><br></div><div>Hi Jeremy,</div><div><br></div><div>The DNS server knows how to match the specific record resolved. That is, <a href="http://shop.example.com">shop.example.com</a> has an associated CNAME record, and thus one CNAME is returned. However, if a client attempts to resolve <rnd>.<a href="http://example.com">example.com</a>, it would see there's no specific match, and thus fall back to the wildcard match.</div><div><br></div><div>The exact details of how wildcard DNS rules unfortunately vary by DNS server, but the above description is meant to highlight that you shouldn't assume *two* CNAMEs will be returned. In general, if you want to guarantee that two CNAME records would be returned, you'd do</div><div><br></div><div>*.<a href="http://example.com">example.com</a> CNAME <a href="http://digicert.com">digicert.com</a></div><div><a href="http://shop.example.com">shop.example.com</a> CNAME <a href="http://google.com">google.com</a></div><div><a href="http://shop.example.com">shop.example.com</a> CNAME <a href="http://digicert.com">digicert.com</a></div><div><br></div><div>(Which, of course, would be bonkers)</div><div> <span style="font-family:Calibri,sans-serif;font-size:11pt"> </span></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div class="m_5011447683982220769WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">As for how to resolve this, what if the CA generated two random numbers, holding one of the numbers in reserve. Immediately after verifying that <rnd1>.<a href="http://domain.com" target="_blank">domain.com</a> CNAME points to a validated domain, the CA can then check <rnd2>.<a href="http://domain.com" target="_blank">domain.com</a> to see if it resolves. If it resolves successfully, a wildcard DNS is in place and the domain is not validated. If the domain does not resolve, a wildcard DNS is not present and the domain is considered validated. Does this resolve your concern?</span></p></div></div></blockquote><div><br></div><div>That could, but I'm curious to understand why Peter's proposed interpretation (which seems different from your proposal) wouldn't address the same need, but without the same concerns. Perhaps you could elaborate further on the use case, to better understand why a simpler approach wouldn't suffice?</div><div><br></div><div>For example, with your proposal, I'd be concerned for the same matter raised during the CAA discussion, and highlighted by Robin Alden during the F2F discussion, of intermittent DNS issues on the CA's side. If such an event happened, it might lead to inappropriately ruling "no wildcard DNS", when wildcard DNS is in fact in place.</div></div></div></div>