<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 8/14/20 3:17 PM, Brent Putman wrote:<br>
</div>
<blockquote type="cite"
cite="mid:bdb0ef71-8a67-2ebd-474b-ada12d07b25b@georgetown.edu">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<p><br>
</p>
<div class="moz-cite-prefix">On 8/14/20 12:50 PM, Cantor, Scott
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:9FC905A8-68AC-4F38-9F57-91660005135C@osu.edu">
<pre class="moz-quote-pre" wrap="">For now, I've added a Logout Changes section to the 4.0 release notes and will update that section once I can do some research into the various points of control, including the certificate issue, but that won't be today. If there's a quick answer to that, Brent would have it, but otherwise I'll have to get into it next week.
</pre>
</blockquote>
<p><br>
</p>
<p>I'm off today, so I'll look at next week... But I thought the
HttpClient hostname validation component we use actually did
support wildcard certs. But need to double check. </p>
</blockquote>
<p><br>
</p>
<p>Just to close the loop on this for the archives... Scott already
diagnosed the OP's actual problem here, which is not really about
hostname validation: metadata was not correct, so explicit key
trust eval was failing (and then falling into the PKIX trust
engine, which also fails b/c the metadata wasn't set up correctly
for that either).</p>
<p>I confirmed that above statement: The HttpClient
DefaultHostnameVerifier used for HTTPS connections does support
wildcard certs for server TLS.</p>
<p>However the error message about the wildcard cert was not from
that layer, but rather from our BasicX509CredentialNameEvaluator,
which is used by our PKIX TrustEngines. It does not support
wildcards in the usual/expected way, but because of how those
engines work it really doesn't need to. If one needed to make that
work (for some masochistic reason), the way to do it would be to
add explicit trusted names to the metadata via ds:KeyName
elements, just as you would for any domain name(s) used by the
entity ID and role. The non-obvious trick is that for wildcard,
you'd need to specify the cert's wildcard subject DN value exactly
as the KeyName value, with the '*' and so forth.</p>
<p>--Brent<br>
</p>
</body>
</html>