【问题标题】:Generated certificates do not work?生成的证书不起作用?
【发布时间】:2013-02-13 09:24:30
【问题描述】:

我在 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 'CurrentUser'、FindType 'FindBySubjectName'、FindValue 'MyAppClient'。

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

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

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

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

【问题讨论】:

    标签: c# wcf certificate


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      祝你好运。

      【讨论】:

      • 谢谢!但这只会生成一个证书,并且它会获得一个基于创建它的服务器的名称?我需要两个证书,一个用于服务器,一个用于客户端,应该能够安装在另一个网络中。我想这将需要 1 个根证书、1 个服务器证书和 1 个客户端证书。根证书需要安装在两台计算机上。我说的对吗?如何使用 IIS 7 做到这一点?
      • 是否可以在服务和客户端上使用这个证书?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-23
      • 2013-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多