C# 生成的证书不起作用?

C# 生成的证书不起作用?,c#,wcf,certificate,C#,Wcf,Certificate,我已在Windows 8服务器上使用以下命令为我的WCF TCP解决方案生成客户端和服务证书: makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=MyAppServer -sky exchange -pe makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=MyAppClient -sky exchange –pe 安装证书,然后将其移动到具有MMC的受信任人员。然后我使用MMC将这两个证书导

我已在Windows 8服务器上使用以下命令为我的WCF TCP解决方案生成客户端和服务证书:

makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=MyAppServer -sky exchange -pe
makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=MyAppClient -sky exchange –pe
安装证书,然后将其移动到具有MMC的受信任人员。然后我使用MMC将这两个证书导出到文件中,然后它们都安装在客户机上的CurrentUser/TrustedPeople下

在客户端MMC中查看两个证书时,会显示:

“无法保证此证书的完整性。证书可能已损坏或已被更改”

我可以看出根代理和MyAppServier在主题上有分歧

当我尝试连接到WCF服务(位于Windows 8服务器上)时,客户端上会出现以下异常:

无法使用以下搜索条件找到X.509证书:StoreName“TrustedPeople”、StoreLocation“CurrentUser”、FindType“FindBySubjectName”、FindValue“MyAppClient”。

我仔细检查了CurrentUser下的受信任人员,他们是否到位

如果我从客户端计算机运行所有这些(包括生成和安装证书),一切正常吗?我怀疑这些证书有什么不对的地方

我需要证书进行测试,所以我没有任何“真正”的证书,但根据我的经验,应该可以在服务上生成证书,然后在测试环境中使用它们


那么,我在这里做错了什么呢?

我过去在无法获得证书时做过的一件事就是通过IIS 7 UI创建它们。IIS将把它创建的证书放入计算机上的个人证书和受信任用户中


祝你好运。

我过去在无法获得证书时做的一件事就是通过IIS 7 UI创建它们。IIS将把它创建的证书放入计算机上的个人证书和受信任用户中


祝你好运。

此链接解决了我的问题,并解释了很多:


但是,这不会使用IIS7生成证书。

此链接解决了我的问题,并解释了很多:


但是,这不会使用IIS7生成证书。

谢谢!但是这将只生成一个证书,并且它会得到一个基于创建它的服务器的名称?我需要两个证书,一个用于服务器,一个用于客户端,它们应该能够安装在另一个网络中。我想这需要1个根证书、1个服务器证书和1个客户端证书。根证书需要安装在两台计算机上。我说的对吗?如何使用IIS 7执行此操作?是否可以在服务和客户端上使用此证书?谢谢!但是这将只生成一个证书,并且它会得到一个基于创建它的服务器的名称?我需要两个证书,一个用于服务器,一个用于客户端,它们应该能够安装在另一个网络中。我想这需要1个根证书、1个服务器证书和1个客户端证书。根证书需要安装在两台计算机上。我说的对吗?如何使用IIS 7实现这一点?是否可以在服务和客户端上同时使用这一证书?