我正在尝试使用C#客户端连接到Java Web服务。我没有物理访问该服务,但我的开发人员告诉我,我需要在我的请求中提供客户端证书和中间CA.
我尝试使用服务参考和WebClient,但我只设法发送客户端证书。
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 screenshot
然而,它适用于SoapUI(第二个是中间CA) Wireshark screenshot
答案 0 :(得分:0)
我找到了解决方案。中级CA自动安装在中级证书颁发机构中,但它必须位于受信任的根证书颁发机构。
刚刚将它移到那里并且有效。