加载X509Certificate结果异常CryptographicException“找不到原始签名者”

时间:2013-10-04 20:40:31

标签: c# x509certificate

我正在尝试实例化一个X509Certificate对象,但我一直遇到同一个CryptographicException,并显示错误消息:

  

“找不到原始签名者”。

我尝试了几种加载证书的方法:

// some different things that I have tried
var cert = X509Certificate.CreateFromCertFile(certFileName);
var cert2 = new X509Certificate(byteArray);
var cert3 = new X509Certificate(byteArray, secretString);
var cert4 = X509Certificate.CreateFromSignedFile(certFileName);

我已尝试从文件和字节数组加载。每次我得到同样的错误。可能导致这种情况的原因是什么?

2 个答案:

答案 0 :(得分:16)

我弄明白了这个问题。我试图只加载证书文件,该文件不包含私钥。要解决此问题,我必须在购买证书的计算机上安装私钥,然后export it as a .pfx file并将其移至我实际想要使用它的位置。我确定是一个新手的错误。希望我的愚蠢问题将在未来帮助其他新手。

答案 1 :(得分:1)

        var collection = new X509Certificate2Collection();
        collection.Import(byteArray);
        return collection;

通过https://stackoverflow.com/a/44073265https://stackoverflow.com/users/6535399,为msft写密码 - 例如https://github.com/dotnet/corefx/pull/25920