1

我正在尝试打开证书文件:

//path to file
static string KKBpfxFile = 
    Path.Combine(HostingEnvironment.ApplicationPhysicalPath,
                 ConfigurationManager.AppSettings["CertFolder"], 
                 "cert.pfx");

_logger.Debug(KKBpfxFile);

X509Certificate2 KKbCert = new X509Certificate2(KKBpfxFile, KKBpfxPass);

但是,我找不到异常文件。在日志文件中包含以下路径:

C:\inetpub\wwwroot\msite\Certificates\cert.pfx

我在资源管理器中打开此路径,一切正常。该文件存在。
哪里有问题?

PS。我授予了此文件夹的所有(读取、写入和其他)权限以进行ALL分组。
PS2。这只是生产服务器上的问题。在我的本地机器上是有效的。

4

2 回答 2

1

尝试File.Exists()在调用构造函数之前进行检查。

此外,访问权限可能仍然存在问题,具体取决于运行应用程序池的用户,但如果您将访问权限设置为“每个人”,它应该可以工作。仍然......在生产服务器上仔细检查。

此外,作为进一步的步骤,您可以在调用构造函数之前检查文件的 ACL 并查看您是否具有读取权限,甚至更进一步,将文件加载到字节数组中并使用字节数组作为 arg 调用构造函数。

于 2013-02-01T08:15:49.260 回答
0

使用 procexp.exe 并在 exe 中给出路径。我会告诉你哪个程序锁定了你的文件。请求程序释放它。不要杀死它,因为它是生产服务器。

Procexp 可以在您的本地机器中找到/从 microsoft 下载。将 tat exe 复制到生产服务器并从那里运行

于 2013-02-01T08:26:39.057 回答