我正在try 接受SSL通信的奥秘,并找到了一个关于this site的很棒的教程.我试着测试我自己的证书.使用Visual Studio 2012,我只需添加一个现有文件(我的证书为.pfx格式),然后更改应用程序中的"证书"和"密码"设置.配置.然而,在try 运行它时,我遇到了一个错误:

加密异常未处理:系统找不到指定的文件

然后,我在我的Web服务中try 了同样的方法.在这里,我得到了有关错误的更多细节:

System.Security.Cryptography.CryptographicException: System cannot find specified file.

   at System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)
   at System.Security.Cryptography.X509Certificates.X509Utils._QueryCertFileType(String fileName)
   at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags)
   v System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName, String password)
   v TestServer.DataService.LoadSoap() v c:\Users\Administrator\Documents\Visual Studio 2012\Projects\TestServer\TestServer\DataService.asmx.cs:line 48

我已经把这个问题写给了这篇文章的作者,但由于他的最后一次回复是在2012年3月,我不确定他是否会回复.如果有人能帮我解决这个问题,我将非常感激.

附注:将证书从.cer导出到.pfx时,我更改了导出文件的标题.虽然我怀疑它对这个问题的影响,但我宁愿提一下.

推荐答案

您是否在IIS中的应用程序池上设置了以下内容?

  1. 转到IIS管理器
  2. 转到应用程序池实例
  3. 单击高级设置
  4. 在Process model下,将Load User Profile设置为true

进一步阅读请参见此堆栈问题:What exactly happens when I set LoadUserProfile of IIS pool?

.net相关问答推荐

在 Invoke() 中运行时,跨线程操作对表单控件无效 - .NET

是否有任何为 C# 编写的模糊搜索或字符串相似函数库?

无法加载文件或程序集 Microsoft.Extensions.DependencyInjection.Abstractions,版本 = 1.1.0.0

在生产中使用实体框架(代码优先)迁移

(C# 7.2)私有保护修饰符的用例是什么?

Int 到字节数组

在 JavaScript 中使用 String.Format?

无法将文件 *.mdf 作为数据库附加

在 C# 中将字符串转换为十六进制字符串

如何在 Action 中传递参数?

场与财产.性能优化

将记录器作为单身人士是一个好习惯吗?

为什么会出现编译错误使用未分配的局部变量?

在 WPF DataGrid 中绑定 ComboBoxColumn 的 ItemsSource

如何在 nuspec 中指定特定的依赖版本?

例外:不支持 URI 格式

为什么 .NET 中没有 Tree 类?

C# - 在 WPF 应用程序中保存用户设置的方法?

System.Array.CopyTo() 和 System.Array.Clone() 之间的区别

如何判断枚举是否包含数字?