无法创建C#x509Certificate2

无法创建C#x509Certificate2,c#,visual-studio,certificate,x509certificate2,C#,Visual Studio,Certificate,X509certificate2,我正在通过一个字节数组创建一个证书,这个字节数组来自一个Apple.p12文件 X509Certificate2 cert = new X509Certificate2(AppleCertBytes, ApplePassword); 这可以很好地工作并创建证书,但是,仅当im在本地主机上时 当我构建Web服务并将其发布到服务器时,它不起作用 我把日志放在任何我能放的地方,我注意到当运行这一行时,请求似乎消失了 我没有得到服务器的响应,有时甚至得到错误:连接\u重置。 当我调试这个过程时,我没有

我正在通过一个字节数组创建一个证书,这个字节数组来自一个Apple.p12文件

X509Certificate2 cert = new X509Certificate2(AppleCertBytes, ApplePassword);
这可以很好地工作并创建证书,但是,仅当im在本地主机上时

当我构建Web服务并将其发布到服务器时,它不起作用

我把日志放在任何我能放的地方,我注意到当运行这一行时,请求似乎消失了

我没有得到服务器的响应,有时甚至得到
错误:连接\u重置
。 当我调试这个过程时,我没有看到任何错误,我想可能是
.dll
文件引起了问题,我想我用不同的日志检查了11次,似乎随时都会更新

编辑 没有抛出异常

这里有我遗漏的东西吗?应用程序池、插件等

请注意。

我不想要任何创建证书的插件,我想要一个可能的结果。 谢谢。

您需要使用另一台计算机将私钥存储在本地计算机存储中

您的构造函数应为:

var cert = new X509Certificate2(
                        AppleCertBytes, 
                        ApplePassword,
                        X509KeyStorageFlags.MachineKeySet);

所以我要明确一点:这条线不会抛出异常?是的,忘了说。未捕获任何异常。该证书中的CA是否位于该服务器上的正确存储中?用于该appdomain的标识是否具有访问证书存储的权限?请解释?我不是证书方面的专家。如果在本地打开该证书,它会显示证书链吗?(如果打开证书,您可以在“证书路径”选项卡“属性”对话框中找到)。那里的所有证书以及颁发者也需要存在于服务器上…您保存了我的live。非常感谢。