1

全部,我试图按照这个说明为 ssl(自签名证书)启用我的网络服务。但到目前为止,我一直没有回答。

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

在此处输入图像描述

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

在此处输入图像描述

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

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

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

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

4

1 回答 1

2

您必须通过选择“接受”或“忽略”来取消选中客户端证书下方的“要求”选项。通过选择“要求”,您希望客户端(无论您拥有什么浏览器的资源管理器/firefox)拥有一个您信任的证书存储在它的证书存储中。

要求客户端拥有证书称为相互认证,对于实现流量加密来说是不必要的。

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

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

于 2013-05-27T07:53:16.777 回答