错误:'系统找不到指定的.'试图访问证书时

本文关键字:访问 证书 系统 找不到 错误 | 更新日期: 2023-09-27 17:53:03

我正在使用BigQuery的Google API,它要求我使用。p12证书。问题是,无论我如何尝试导入我的证书资源,我总是得到相同的错误:

系统找不到指定的文件。

我添加的文件如下:

var certificate = new X509Certificate2(@"key.p12", "notasecret", X509KeyStorageFlags.Exportable);
我是c#和Visual Studio的新手。

错误:'系统找不到指定的.'试图访问证书时

在属性窗口中(选择p12文件并按f4),确保"Copy to Output Directory"设置为"Copy Always"。这将确保文件被复制到最终的EXE位置。

当你说 的时候
new X509Certificate2(@"key.p12", "notasecret", X509KeyStorageFlags.Exportable);

代码期望得到键。文件,EXE(或DLL)正在运行。它与文件在解决方案资源管理器中的位置关系不大,而与文件的运行时位置关系更大。

还有,你可以试试这个片段:

var certificate = new X509Certificate2(@"key.p12", "notasecret", 
                                         X509KeyStorageFlags.MachineKeySet);

这是因为用户证书存储没有被asp.net加载。