生成的证书不起作用?

时间:2013-02-27 14:17:19

标签: c# wcf certificate

我在Windows 8 Server上使用了以下命令为我的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将其移至TrustedPeople。然后我使用MMC将两个证书导出到文件,然后将这些证书安装在CurrentUser / TrustedPeople下的客户端计算机上。

在客户端查看MMC中的两个证书时,它说:

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

我可以看到Root Agence和MyAppServier在主题上有一个交叉。

当我尝试连接到WCF服务(位于Windows 8 Server上)时,我将在客户端上收到以下异常:

使用以下搜索条件找不到X.509证书:StoreName'TrustedPeople',StoreLocation'InsturrentUser',FindType'FindBySubjectName',FindValue'MyAppClient'。

我已经仔细检查了CurrentUser下的受信任人员,他们到位了吗?

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

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

那我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

此链接解决了我的问题并解释了很多:http://robbincremers.me/2011/12/29/wcf-message-security-and-client-certificate-authentication-with-self-signed-certificates/

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

答案 1 :(得分:0)

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

http://technet.microsoft.com/en-us/library/cc753127%28v=ws.10%29.aspx

祝你好运。