我目前在将 .Net 应用程序安装为 Windows 服务时遇到问题,该应用程序与在 Windows Server 2008 上运行的 Apache Tomcat 7 中运行的另一个用 Java 编写的应用程序通信。
.NET 应用程序作为 Windows 服务运行,并使用 TcpListener 和来自本地计算机个人存储的服务器证书进行保护(根证书和中间证书存在于本地计算机的适当证书存储中),它提供给 Java然后应该提供客户端证书以保护连接的应用程序。
此过程中使用的所有证书都是从我们公司的 CA 创建的,Java 应用程序将证书添加到它所引用的密钥库和信任库中。
当 Java 应用程序尝试打开与 .NET 服务的连接时,连接失败。
我们在 .Net 应用程序中打开了跟踪,它报告这是由于“远程服务器未提供证书。”。然后我们为 Apache Tomcat 服务打开 SSL 调试,它似乎进入了服务器(在本例中为 .Net Windows 服务)通过传递机器中的所有根证书从客户端请求证书的阶段信任存储,但是我添加的根证书没有出现在根证书列表中。
我可以在本地机器信任存储中看到证书,所以我不确定下一步该做什么。什么会阻止我们自己的根证书出现在 Java 应用程序的证书颁发机构列表中?