我正在Windows上编写一个小工具,最终需要在Windows和Linux上运行(在Mono下)。在其中,我正在从用户输入指定的文件中加载证书,这在Windows中可以正常工作。但是,当我在Mono下运行它并使用我在Windows中使用的完全相同的证书时,我得到一个System.Security.Cryptography.CryptographicException,其中包含“输入数据无法编码为有效证书”。
Mono中是否存在错误,或者我是否只需要做一些不同的事情来加载证书跨平台?像这样的一个小测试函数将显示错误:
public X509Certificate2 LoadCertificate(string certPath)
{
X509Certificate2 signingCertificate = new X509Certificate2(certPath);
return signingCertificate;
}
答案 0 :(得分:0)
您的问题可能是https://stackoverflow.com/a/24172972/2555046。现在应该修复哪个,所以运行上面的相同代码不应该导致问题。
目前我可以使用和不使用密码在CentOS 6.5上加载.pfx证书,但是没有运气.p12证书。