我正在尝试使用C#客户端连接到Java Web服务。我没有对该服务的物理访问,但是它的开发人员告诉我我需要在我的请求中提供客户证书和中间CA。
我尝试使用服务参考和网络客户,但我只设法发送客户端证书。
protected override WebRequest GetWebRequest(Uri address)
{
HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
request.ClientCertificates.Add(m_TransportCertificate);
//m_TransportCertificate holds client certificate with key and rest of the cert chain (intermediate and root)
return request;
}
如何在C#?中发送两个客户证书,据我所知,这不是正常行为 - 客户只应发送一个证书。
我无法使我的应用程序执行 - 它总是发送一个证书。Wireshark屏幕截图
但是它在Soapui中起作用(第二个是中间CA)Wireshark屏幕截图
我找到了一个解决方案。中级CA自动安装在中级认证机构中,但需要在可信赖的根认证机构。。
刚将其移动到那里并起作用。