我正在开发一个访问Xero api的应用程序以及我在开发机器上运行良好的工具。
当我上传到我的网络服务器(arvixe)时,在尝试加载身份验证所需的pfx文件时,我发现找不到文件错误。
我已验证文件路径是否正确并已启用该文件的权限。
这个错误可能会掩盖别的东西吗?
**更新**
访问该文件没有问题。我更改了代码,首先将pfx文件加载到字节数组中,然后使用字节数组作为x509certificate2构造函数的参数,而不是文件名。
这是发生错误的地方,因此看起来在创建临时文件或访问证书存储时出现问题。
我认为这可能是共享主机上的问题。有没有人知道解决方法?
答案 0 :(得分:0)
好的,今天随机开始工作了。我之前尝试过这段代码,但在其他许多事情之后,我可能只需要回收应用程序池:
X509Certificate2 cert = new X509Certificate2();
cert.Import(HostingEnvironment.MapPath("~/public_privatekey.pfx"), "password", X509KeyStorageFlags.MachineKeySet);
关键部分是MachineKeySet的存储标志。