我有一个.NET应用程序,我想用作客户端来调用SSL SOAP Web服务。已为我提供了名为foo.pfx
的有效客户端证书。证书本身上有一个密码。
我已将证书放在以下位置:C:\certs\foo.pfx
要调用Web服务,我需要附加客户端证书。这是代码:
public X509Certificate GetCertificateFromDisk(){
try{
string certPath = ConfigurationManager.AppSettings["MyCertPath"].ToString();
//this evaluates to "c:\\certs\\foo.pfx". So far so good.
X509Certificate myCert = X509Certificate.CreateFromCertFile(certPath);
// exception is raised here! "The specified network password is not correct"
return cert;
}
catch (Exception ex){
throw;
}
}
听起来好像是.NET应用程序尝试读取磁盘的异常。方法
CreateFromCertFile
是静态方法,应该创建X509Certificate的新实例。该方法不会被覆盖,只有一个参数:path。当我检查异常时,我发现:
_COMPlusExceptionCode = -532459699
Source=mscorlib
问题:是否有人知道异常原因是“指定的网络密码不正确”?
最佳答案
原来,我试图从.pfx而不是.cer文件创建证书。
学过的知识...
关于c# - X509Certificate.CreateFromCertFile-指定的网络密码不正确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/899991/