c# - "CryptographicException: Cannot find the requested object"证书文件存在

标签 c# cryptography x509certificate

我有一个 .p12 证书文件,我这样创建我的证书:

var certificate = new X509Certificate2(certFileLocation, "mySecret", X509KeyStorageFlags.Exportable);

certFileLocation 在我的桌面上并且我提供了绝对路径时,代码可以正常工作。但是,当我将 .p12 文件的全部内容放入我的解决方案中的一个新文件并将文件的 Copy to Output Directory 属性设置为 “Copy if newer”我收到一个 CryptographicException 异常:

Cannot find the requested object

我也每次都检查文件是否就位。这两种情况有什么区别,为什么我不能用后一种方法读取文件?

最佳答案

我遇到了类似的问题。它适用于固定文件,但不适用于与我的单元测试相关的文件。这太令人费解了,以至于我终于查看了这些文件并比较了它们的二进制文件。他们在哪里相同。它们以字符串形式读取和写入,这导致它们由于 unicode 解释而略有不同。当我自己(从资源流)将它们复制为二进制文件 (byte[]) 时,一切又恢复正常了。我希望这也能解决您的问题。

关于c# - "CryptographicException: Cannot find the requested object"证书文件存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32715811/

相关文章:

java - X.509 使用指纹验证 key 链

c# - 在 C# 中使用空 using 语句关闭一次性对象是一种好习惯吗?

C#、MySQL - 命令执行期间遇到 fatal error - 检查了其他解决方案,我缺少的东西

java - 尝试解密 RSA 时出错

ssl - Cipher(rsa-with-aes-128-cbc-sha) 将使用哪个 SHA?

java - 如何在 java 中使用 bouncycaSTLe 解析 ASN.1 对象并获取数据

c# - 如何获取所选幻灯片的ID

c# - Asp.NET MVC3 - URL 中没有区域的访问区域 Controller

java - mcrypt "ncfb"模式的 Java 等价物是什么?

java - 使用充气城堡使用中间证书正确创建新证书