需要有关 IIS 的帮助

需要有关 IIS 的帮助

在 IIS 上设置 https 网站时是否必须拥有证书。此外,如果我托管一个已经获得证书的网站,在添加证书时我应该知道颁发证书的来源吗?此外,如果我将其设置为 http 网站,其功能是否会像以前一样工作?请帮忙,因为我对 IIS 还很陌生

答案1

客户端信任的服务器证书对于设置 SSL 会话是必不可少的。客户端可以即时生成证书,但服务器必须具有信任链根证书深受客户信赖。

简单的 TLS 握手来源

下面是一个简单的连接示例,说明了服务器(而不是客户端)通过其证书进行身份验证的握手:

  1. 谈判阶段:
    • 客户端发送 ClientHello 消息,其中指定其支持的最高 TLS 协议版本、随机数、建议的 CipherSuites 列表和建议的压缩方法。如果客户端尝试执行恢复握手,则可能会发送会话 ID。
    • 服务器以 ServerHello 消息进行响应,其中包含客户端提供的所选协议版本、随机数、CipherSuite 和压缩方法。为了确认或允许恢复握手,服务器可能会发送会话 ID。所选协议版本应为客户端和服务器都支持的最高版本。例如,如果客户端支持 TLS1.1 而服务器支持 TLS1.2,则应选择 TLS1.1;不应选择 SSL 3.0。
    • 服务器发送其证书消息(取决于所选的密码套件,服务器可能会省略这一步骤)。
    • 服务器发送ServerHelloDone消息,表示握手协商完成。
    • 客户端以 ClientKeyExchange 消息进行响应,该消息可能包含 PreMasterSecret、公钥或不包含任何内容。(同样,这取决于所选的密码。)
    • 然后,客户端和服务器使用随机数和 PreMasterSecret 计算出一个共同的秘密,称为“主秘密”。此连接的所有其他关键数据均来自此主秘密(以及客户端和服务器生成的随机值),并通过精心设计的“伪随机函数”传递。
  2. 客户端现在发送一个 ChangeCipherSpec 记录,本质上是告诉服务器,“从现在起,我告诉你的一切都将被验证(如果服务器证书中存在加密参数,则将被加密)。” ChangeCipherSpec 本身是一个内容类型为 20 的记录级协议。
    • 最后,客户端发送经过身份验证和加密的完成消息,其中包含先前握手消息的哈希值和 MAC。
    • 服务器将尝试解密客户端的 Finished 消息并验证哈希和 MAC。如果解密或验证失败,则认为握手失败,并应断开连接。
  3. 最后,服务器发送一个 ChangeCipherSpec,告诉客户端,“从现在开始我告诉你的一切都将被验证(如果协商了加密,还将加密)”。
    • 服务器发送经过验证和加密的完成消息。
    • 客户端进行相同的解密和验证。
  4. 应用程序阶段:此时,“握手”已完成,应用程序协议已启用,内容类型为 23。客户端和服务器之间交换的应用程序消息也将进行身份验证,并可选择加密,就像在完成消息中一样。否则,内容类型将返回 25,客户端将不会进行身份验证。

如果你关闭SSL(https),那么客户端和服务器之间的通信将不会被加密,但你的网站应该可以正常使用。

我说应该因为可能存在突然中断的硬编码绝对 https url。此外,如果客户端证书用于身份验证,则您可能无法登录网站 - 这种情况不太可能发生,因为大多数网站都使用用户名和密码机制。

答案2

HTTPS 是建立在证书之上的。

如果没有证书就不可能为 HTTPS 站点提供服务,就像如果没有 URL 就不可能为 HTTP 站点提供服务一样。

答案3

  1. 在 IIS 上设置 https 网站时是否必须有证书?

是的,没有 SSL 证书您就无法创建 https 站点。

  1. 另外,如果我托管的网站已经获得证书,那么在包含证书时我应该知道颁发证书的来源吗?

不需要。我们只需导出和导入证书即可。如以下 URL 中所述,

http://www.digicert.com/import-export-ssl-certificate.htm

  1. 另外,如果我将其设置为 http 站点,其功能还能像以前一样吗?

它将像以前一样工作,但没有任何安全通信。

相关内容