10

我有一个 WCF 服务,它只在两台服务器机器之间使用。它永远不会被公开使用。

我希望我可以将 SSL 与自签名证书一起使用以确保安全。

我使用 IIS7 创建了一个证书,使用 IE 和 MMC(Personal、TrustedRoot、Third-Party & TrustedPeople)将其安装在客户端计算机上。

我仍然无法通过代码或通过 IE8 访问该服务,但它不会质疑证书。

从 IE 中,我得到通常的“此网站的安全证书存在问题”。

从代码中我得到错误:“无法为具有权限的 SSL/TLS 安全通道建立信任关系”

为什么这不起作用?

4

3 回答 3

16

您确定您的自签名证书位于将访问您的 WCF 服务的客户端计算机上的受信任的根证书颁发机构证书存储中吗?请参阅下面我的一台 Windows Vista 机器信任的自签名证书的屏幕截图。

您是否还确定您的证书是自签名证书。请参阅我的一个自签名证书末尾的屏幕截图。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

更新信息:

查看帖子以了解有关如何使用名为 SelfSSL7 的实用程序来创建包含多个主机名的自签名证书的信息。

这是另一个链接,其中包含有关 SelfSSL7.exe 和下载信息的良好信息。

于 2012-07-02T15:13:41.347 回答
1

我今天有这个 - 但使用 IIS7。如果您使用 IIS 生成证书(inetmgr-> 选择主节点,然后选择服务器证书,使用右侧菜单选项创建自认证证书。“颁发给”属性使用您机器的 FQDN 设置 - 例如“ mymachine.myintranet.copp.net' 或其他。

只要您为从服务连接的 url 提供 FQDN - 例如“mymachine.myintranet.copp.net/myservice/service.svc”,就会出现错误。

如果您使用的是替代 URL,例如 IP 地址或 localhost,则会发生错误。因此,上面的机器在他的网络中显然被称为 johnma,然后它就可以工作了。

于 2014-02-12T16:57:38.297 回答
0

它不起作用的原因是 IE 检测到证书不是从有效的 CA(证书颁发机构)创建的。自签名证书比其他任何东西都更适合测试。如果您没有收到有关 SSL 的警告,那么 SSL 就没有多大意义。

于 2012-07-02T15:05:24.107 回答