2013-05-27 173 views
1

所有我试图通过以下instructions来启用我的web服务以获取ssl(自签名证书)。但到目前为止,我一直没有回答就被卡住了。为web服务配置ssl

我认为作家错过的一件事是没有设置Advanced setting->Enabled Protocols=https。我认为这是必要的。 在我的情况下,我需要加密客户端和服务器之间传输的数据。所以我想我需要设置ssl setting->client certificate:required。(我应该这样做吗?)就像下面。

enter image description here

和我设置的SSL端口是7002我的Web服务。并为我的Web服务指定了新创建的自签名证书。就像下面一样。

enter image description here

Web服务成功启动。但是当我访问与https://localhost:7002/xxx.asmx的网址。 我得到一个错误消息说:

HTTP错误403.7 - 禁止您试图访问 的页面要求浏览器有安全套接字层(SSL)客户端证书 的Web服务器识别。

我不会如果我做错了什么或错过了重要的事情。如果你发现它,请告诉我。谢谢。

我的电脑是Win7 64位操作系统和IIS 7.0。

+0

看完这篇文章后(http://forums.iis.net/t/1156197.aspx),我想如果我只是需要加密客户端和服务器之间通过SSL传输的数据,我只需要'Accept '选项,对吗? –

回答

2

您必须通过选择“接受”或“忽略”来取消选中客户端证书下方的“要求”选项。通过选择“要求”,您希望客户端(无论您使用哪种浏览器的浏览器/ Firefox)获得您信任的证书库中的证书。

要求客户端拥有证书称为相互认证,并且不需要实现流量加密。

在相互SSL有四个主要部件, (1)服务器的信任链, (2)客户端的信任链, (3)客户端证书, (4)的服务器证书。

证书(3 & 4)将具有信任链(1 & 2) - 它们可能是相同的,“根CA”并且通常是“中间CA”的链,它们按顺序彼此签名以建立它们的真实性,根部在中间部分上签字,中间部分又在中间部分上方标记中间等等,直到链条中的最后一个在证书上签名。自签名证书自身签名,因此既是证书又是信任链。对于非自签名服务器证书,您希望信任链在客户端可用,以便通过检查证书的签名来验证证书的出处。在相互认证中,您还需要服务器拥有客户端的信任链,以便它可以检查它的出处。

+0

我想你的意思是'客户端证书'下的'require'选项?对 ? –

+0

你是对的.... –

+0

这不是一个复选框,它是一个单选按钮。它不能被取消选中。请纠正你的答案。谢谢。 –