1

我在 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 移动到 TrustedPeople。然后我使用 MMC 将两个证书导出到文件,然后将它们都安装在 CurrentUser/TrustedPeople 下的客户端计算机上。

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

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

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

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

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

我已经仔细检查了 CurrentUser 下的受信任的人,它们是否到位?

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

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

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

4

2 回答 2

1

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

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

于 2013-02-28T16:03:45.663 回答
0

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

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

祝你好运。

于 2013-02-27T16:32:26.600 回答