无法使用SharePoint的证书发送HttpWebRequest

时间:2011-05-10 06:29:56

标签: sharepoint ssl httpwebrequest x509certificate

我正在尝试从我的SharePoint 2007 WebPart向另一个Web服务发送HttpRequest。该服务需要X509客户端证书进行身份验证。

我写了一个简单的控制台应用程序,在发送请求和使用我的证书进行身份验证时没有问题:

byte[] certBytes = getBytes();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("<server_url>");
X509Certificate2 cert = new X509Certificate2(certBytes, "<password>", X509KeyStorageFlags.MachineKeySet);
request.ClientCertificates.Add(cert);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

但是,只要从我的SharePoint Webpart运行相同的代码,它就会失败,因为它“无法创建安全的SSL / TSL连接”。

备注:如果我不使用X509KeyStorageFlags.MachineKeySet标志,我会在SharePoint上获得“拒绝访问”。根据{{​​3}},国旗应该解决这个问题。

(基于Apache的)Web服务记录以下错误:

[error] Re-negotiation handshake failed: Not accepted by client!?

知道为什么相同的代码适用于我的控制台应用程序,但不适用于SharePoint?

0 个答案:

没有答案