.net1.1 HttpWebRequest使用来自文件的x509证书进行身份验证

时间:2012-02-27 07:36:40

标签: c# asp.net .net ssl

我的证书带有完整路径(带ca),私有部分和名为client.p12的密码。 Ca证书是自签名的。

我需要我的HttpWebRequest使用此证书进行身份验证。

我尝试了类似

的内容
Cert = X509Certificate.CreateFromCertFile("....");
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.ClientCertificates.Add(Cert);

但是如果文件是p12或pfx我得到错误,无法从文件加载证书。

我将这个证书导入windows cryptoapi并尝试使用没有密码的私有部分导出(我的net1.1 X509Certificate无法加载密码 - 没有这样的重载方法),但是不能,此选项无效。

我导出为.cer文件,现在将cert加载到X509Certificate类中,并且(我希望)添加到httpwebrequest,但它返回“cant start ssl session” - 我认为证书是错误的。

如何解决?

  1. 使用CreateFromCertFile可以创建没有密码但有私有部分的好的.cer证书吗? (openssl可能是,或其他)

  2. 是另一种在.net1.1应用程序中使用.p12,.pfx文件的方法,而不是CreateFromCertFile,某些第三方组件可能是?

0 个答案:

没有答案