在IIS上需要帮助

在IIS上设置https网站时,是否有强制性的证书? 也如果即时通讯网站已经获得证书,当包括证书时,我应该知道发出证书的来源? 还有,如果我把它设置为一个http网站的function将像以前一样工作? 请帮助作为即时通讯非常新的IIS

客户信任的服务器证书对于设置SSL会话是强制性的。 客户端可以即时生成证书,但服务器必须拥有带有信任链的证书,该信任链以客户端信任的根证书终止。

简单的TLS握手 ( 源 )

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

  1. 谈判阶段:
    • 客户端发送ClientHello消息,指定其支持的最高TLS协议版本,随机数,build议的CipherSuite列表以及build议的压缩方法。 如果客户端正在尝试执行恢复的握手,则可能会发送一个会话ID。
    • 服务器响应ServerHello消息,包含所选协议版本,随机数,CipherSuite和客户端提供的select的压缩方法。 要确认或允许恢复握手,服务器可以发送会话ID。 所select的协议版本应该是客户端和服务器都支持的最高版本。 例如,如果客户端支持TLS1.1并且服务器支持TLS1.2,则应selectTLS1.1; 不应该selectSSL 3.0。
    • 服务器发送其证书消息(取决于所选的密码套件,这可能会被服务器忽略)。
    • 服务器发送一个ServerHelloDone消息,表明它是通过握手协商完成的。
    • 客户端用一个ClientKeyExchange消息来响应,该消息可能包含一个PreMasterSecret,公钥或者什么也不做。 (这又取决于select的密码。)
    • 然后客户端和服务器使用随机数和PreMasterSecret来计算一个公共秘密,称为“主秘密”。 这个连接的所有其他关键数据都来源于这个主密钥(以及客户端和服务器生成的随机值),这是通过精心devise的“伪随机函数”传递的。
  2. 客户端现在发送一个ChangeCipherSpeclogging,基本上告诉服务器:“我现在告诉你的所有信息都将被authentication(如果服务器证书中存在encryption参数,则encryption)”。 ChangeCipherSpec本身是一个内容types为20的logging级协议。
    • 最后,客户端发送一个经过validation和encryption的Finished消息,在之前的握手消息中包含一个散列和MAC。
    • 服务器将尝试解密客户端的Finished消息并validation散列和MAC。 如果解密或validation失败,握手被认为是失败的,连接应该被拆除。
  3. 最后,服务器发送一个ChangeCipherSpec,告诉客户端:“我现在告诉你的所有信息都将被authentication(如果encryption协商,则encryption)”。
    • 服务器发送其authentication和encryption的完成消息。
    • 客户端执行相同的解密和validation。
  4. 应用程序阶段:此时,“握手”已完成,应用程序协议已启用,内容types为23.在客户端和服务器之间交换的应用程序消息也将进行身份validation,并且可以在其“已完成”消息中进行encryption。 否则,内容types将返回25,客户端将不会进行身份validation。

如果closuresSSL (https),则客户端和服务器之间的通信将不会被encryption,但是您的站点应该正常工作。

我说应该是因为可能有硬编码的绝对httpsurl突然中断。 此外,如果客户端证书用于身份validation,则可能无法login到网站 – 这不太可能,因为大多数网站使用用户名和密码机制。

HTTPSbuild立在证书上。

没有证书就无法为HTTPS站点提供服务,就像无法为没有URL的HTTP站点提供服务一样。

  1. 在IIS上设置https网站时是否有强制性证书?

是的,没有SSL证书,您不能创build一个https站点。

  1. 此外,如果即时通讯托pipe的网站,其中已经得到证书,当包括证书我应该知道发出证书的来源?

没必要。 我们只能导出和导入证书。 正如下面的URL所述,

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

  1. 另外,如果我把它设置为一个http网站,function将像以前一样工作?

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