Thanks for the reply Christopher. The way tomcat has always worked in
the past(Before 8.5.15) , is that your trust store is what tomcat uses
to decide what certificates the browser should show to the user
because it only shows them certificates that are in the certificate
chain of whatever you import into your trust store. So if you import a
root certificate it will show everything that has that root
certificate in its chain but if you import in an intermediate it will
only show the certificates that the intermediate accepts. So the way
it works for DoD is that on each CAC there are 2 client authentication
certificates one Email Cert and one ID cert. They contain different
information mainly the email address is only contained in the Email
cert. When users are prompted to select a certificate they are only
supposed to be given the selection of what certificates are in the
trust store because it knows that anything not in that trust store
won't be accepted anyways. When you set the clientAuth to true in the
connector that is what makes it so Tomcat then asks for a certificate
from the user for validation. I have used both IE and Chrome and I get
the same results in both. I am pretty sure it is not a browser issue
though because I have both Tomcat 8.5.15 and 8.5.14 running on the
same server using the same trust store and 8.5.14 asks for only
Certificates that are in the Chain of the Intermediates that I
imported in and 8.5.15 asks for all of the certificates. Unfortunately
I am not able to run openssl as I am on a goverment network and the
software we can use is restricted.
https://stackoverflow.com/questions/1666052/java-https-client-certificate-authentication
The previous link  has a pretty good explanation of the way Tomcat has
always worked in the past in the comments and explains about the
behavior I am expecting.

On Wed, Jun 21, 2017 at 1:16 PM, Christopher Schultz
<ch...@christopherschultz.net> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Racine,
>
> On 6/21/17 12:38 PM, Racine Faye wrote:
>> I have noticed that in Tomcat 8.5.15 on the Windows Server 2008
>> Operating System that the way that tomcat presents user
>> certificates has changed. I have a trust store that I use on the
>> tomcat 8.5.14 version that has only DoD intermediate Email
>> certificates which makes it so when users go to the site they are
>> prompted for only their email cert.
>>
>> When upgrading to 8.5.15 I used the same trust store and it now
>> prompts for all certificates on the computer.
>
> What prompts for all certificates on the computer?
>
>> I am not sure if that is intended behavior or an oversight but it
>> is kind of confusing to users to be presented certificates that
>> they can't use.
> I don't believe Tomcat is presenting any certificates to the user, is
> it? It's the browser that is showing the certificate selection to the
> user. What browser are you using?
>
>> Another reason for having them only select the email cert is that
>> only the email certificate contains the information that we need
>> to get their user ID.
> This is informative, but not really relevant. Theoretically, the user
> can provide any certificate that has been signed by a certificate in
> the trust store. So if the user decides to provide a signed
> certificate that does *not* have the email address in it, then your
> application needs to be the one signalling an error.
>
>> I want to see if anyone else is having this issue or if anyone has
>> noticed that when specifying a trust store in Tomcat 8.5.15 that it
>> will present the user with all the certificates they have rather
>> than only the ones that the trust store will accept.
>
>> To rule out an issue with my server xml I have installed both
>> 8.5.15 and 8.5.14 on the server and used the exact same server.xml
>> file and I see that the 8.5.14 version will ask the user for only 1
>> cert and that the 8.5.15 version will ask the user for all certs.
>> If anyone has a fix for this or might know what is going on or if
>> there is an extra configuration needed that would be helpful.
>
> Are you using the same web browser with both Tomcat versions? What
> browser(s) are you using? Versions? What OS?
>
> Are you able to run openssl s_client against your Tomcat server? That
> can tell you what the server is providing as part of the TLS
> handshake... you may be able to tell the difference between what certs
> are being sent back with the handshake.
>
> - -chris
> -----BEGIN PGP SIGNATURE-----
> Comment: GPGTools - http://gpgtools.org
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>
> iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAllKxfIACgkQHPApP6U8
> pFhKFw//S1RAkI/aB2dJ0jhRM3VuzNBXOW3cvO+LdB0cUA+B2az9VKskPrRSgAPx
> Pu4uIcadJrda7PlLHEP/W5MxQRrBBPONybyIM/AUOx3t0halXRXAb+IUKPnZ0IH8
> /cS4vcI4C55mUh393hxVTcNPHh8egHvd1cJSm3nWwx+ZJwmfnjiLlssoMdgs3Lla
> 3NvAqVajCrVksgygkXr23qkcfH1utNxXZnTAxRXF4PmLgFk46M3Jnu6cJVhFNO3s
> Bc1zI+XYJwsX9fICE4dkmmWJ/ZblWgjG5nh4bSSq3Ons6MJg1anUcy0p7GsNUvaU
> 8uPUQiz2Xz4t/qPA2kBfsZUYwm/besLDdSp+CYr9VweT6apAp0Kr6kJu79W40MfR
> w4Qpo+8wEkLDjPL/VBBU9yEso4PCGkpFHFsCnfSPf/L+eltyCZkaQfaQK5OehUaa
> px1suyhbYe9xbMdq1WD06CSQYTlDuc7XxuNVgr8Nd1q3nQvkLZJAB/jIkEUhZ174
> GXw+Sqzp09YPSKleQuetPvsP1iqmqsikX40Asl70UdEmEvW55KUrzD+DzY68cGjn
> dcq6hEKVlLZ+0X96k3UEU8yRN7rCOexvypK0lfX2U0jgB2nZld4F5c0dwvqPy+UZ
> xnwJToijUlnCDh4t0+6WEggVizYEEuXZf04aI00WZeC96WfgJG8=
> =4E5V
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to