在Mono中加载X509Certificate2会引发CryptographicException“输入数据无法编码为有效证书”

时间:2014-03-07 16:58:52

标签: c# mono x509certificate2

我正在Windows上编写一个小工具,最终需要在Windows和Linux上运行(在Mono下)。在其中,我正在从用户输入指定的文件中加载证书,这在Windows中可以正常工作。但是,当我在Mono下运行它并使用我在Windows中使用的完全相同的证书时,我得到一个System.Security.Cryptography.CryptographicException,其中包含“输入数据无法编码为有效证书”。

Mono中是否存在错误,或者我是否只需要做一些不同的事情来加载证书跨平台?像这样的一个小测试函数将显示错误:

public X509Certificate2 LoadCertificate(string certPath)
{
    X509Certificate2 signingCertificate = new X509Certificate2(certPath);

    return signingCertificate;
}

1 个答案:

答案 0 :(得分:0)

您的问题可能是https://stackoverflow.com/a/24172972/2555046。现在应该修复哪个,所以运行上面的相同代码不应该导致问题。

目前我可以使用和不使用密码在CentOS 6.5上加载.pfx证书,但是没有运气.p12证书。