Hi Xuelei,<br><br>The requirement is to keep the client certificate as small as possible.  I'd rather not have to store the sub CA certificate on the client.<br><br>I see that the server is sending a "certificate request" as part of the TLS handshake protocol.  The DNs of the trusted certificates are specified in the request.<br>
<br>It looks like the Sun JSSE provider does not support this configuration.  Can you confirm?<br><br>Thanks, Dave<br><br><br><div class="gmail_quote">On Mon, Jul 11, 2011 at 6:21 PM, Xuelei Fan <span dir="ltr"><<a href="mailto:xuelei.fan@oracle.com">xuelei.fan@oracle.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi Dave,<br>
<br>
What's the underlying requirements that the client cannot send a full<br>
certification path? That's not the way TLS works.<br>
<br>
You may be also interesting in the post, "Best Practice: to Include the<br>
Complete Certificate Chain in the KeyStore",<br>
<a href="http://sim.ivi.co/2011/06/best-practice-to-include-compelete.html" target="_blank">http://sim.ivi.co/2011/06/best-practice-to-include-compelete.html</a><br>
<br>
Regards,<br>
<font color="#888888">Xuelei<br>
</font><div><div></div><div class="h5"><br>
On 7/12/2011 7:13 AM, David Pomeroy wrote:<br>
> Hello All,<br>
><br>
> I'm trying to figure out if a certain security configuration is<br>
> supported in openJDK or not.<br>
><br>
> I want to do client authentication at the server with one trusted root<br>
> self-signed anchor certificate.  Then I want the client to send up only<br>
> a client certificate, that was issued by a subordinate CA.  I want to<br>
> use the "PKIX" TrustManagerFactory to accomplish this.<br>
><br>
> The client authentication succeeds when the subordinate CA certificate<br>
> is added to the truststore used to initialize the PKIXBuilderParameters<br>
> that is fed into the TrustManagerFactory.  However, the subordinate CA<br>
> is not a root (self-signed) certificate and the PKIXCertPathValidator<br>
> doesn't seem to care about that.  This doesn't meet my requirements,<br>
> since the client cert path is not built all the way up to a root<br>
> certificate.<br>
><br>
> If I do not include the subordinate CA certificate in the truststore,<br>
> the client cannot connect and it doesn't seem like the validator is<br>
> invoked at all.  I know I would have to include the sub CA certificate<br>
> somehow but I'm not sure how to do this.<br>
><br>
> Is this configuration even supported?  I have tried openJDK 6 and 7,<br>
> same results with each.<br>
><br>
> I imagine if the client sent up the sub CA certificate as well as the<br>
> client certificate, the chain would be validated from the root all the<br>
> way down. However, this is not the desired configuration.<br>
><br>
> Any help here would be appreciated.<br>
><br>
> Thanks!<br>
> Dave P<br>
<br>
</div></div></blockquote></div><br>