title: RemoteCertificateNotAvailable - Root Certificate Not Being Passed During Authentication
body: <p>I am currently having an issue with a .Net application installed as a windows service talking to another application written in Java being ran in Apache Tomcat 7, running on Windows Server 2008. </p>
  
  <p>The .NET app is running as a Windows service and is secured using a TcpListener with a server certificate from the local machine personal store (with the root and intermediate certificate present in the appropriate cert stores for local machine), which it presents to the Java application which is supposed to then provide a client certificate to secure the connection.</p>
  
  <p>All the certificates used in this process are created from our company's CA and the Java application has the certificates added to a keystore and trust store that it is referencing.</p>
  
  <p>When the Java application attempts to open the connection to the .NET service the connection is failing. </p>
  
  <p>We turned tracing on in the .Net application and it reported that it was due to "The remote server did not provide a certificate.". We then turned SSL debugging on for the Apache Tomcat service, it seems to be getting to the stage where the server (in this instance the .Net Windows service) requests a certificate from the client by passing all the root certificates that is in the machines trust store, however the root certificate that has been added by me does not appear in the list of root certificates. </p>
  
  <p>I can see the certificates in the local machines trust store so I am unsure on what to do next.  What would stop our own root certificate from being presented in the list of Cert Authorities within the Java application?</p>