为Web服务配置ssl

时间:2013-05-27 07:37:19

标签: asp.net web-services ssl https ssl-certificate

所有,我试图通过遵循此instructions来为我的网络服务启用ssl(自签名证书)。但到目前为止,我一直坚持不予回答。

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

enter image description here

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

enter image description here

Web服务已成功启动。但是当我用https://localhost:7002/xxx.asmx访问网址时。 我收到一条错误消息:

  

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

我不知道如果我做错了什么或错过了重要的事情。如果你找到它,请告诉我。谢谢。

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

1 个答案:

答案 0 :(得分:2)

您必须通过选择“接受”或“忽略”取消选中客户端证书下方的“要求”选项。通过选择“需要”,您希望客户端 - 您拥有的浏览器/ firefox - 拥有您信任其证书存储区的证书。

要求客户端拥有证书称为相互身份验证,无需实现流量加密。

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

证书(3& 4)将具有信任链(1和2) - 可以是相同的,“根CA”并且通常是“中间CA”链,它们按顺序彼此签署以建立他们的真实性,根签署中间体,然后在其上面签署中间体,依此类推,直到链中的最后一个签署证书。自签名证书会自行签名,因此既是证书又是信任链。对于非自签名服务器证书,您希望信任链在客户端上可用,以便它可以通过检查证书的签名来验证证书的来源。在相互身份验证中,您还需要服务器拥有客户端的信任链,以便它可以检查它的来源。