故障排除

联合服务器证书验证策略

Citrix Receiver for Android 引入了更加严格的服务器证书验证策略。

重要提示

安装本版本的 Citrix Receiver for Android 之前,请确认服务器或网关端的证书已按本文所述正确配置。以下情况下连接可能会失败:

  • 服务器或网关配置包括错误的根证书
  • 服务器或网关配置不包括所有中间证书
  • 服务器或网关配置包括过期或无效的中间证书
  • 服务器或网关配置包括交叉签名的中间证书

验证服务器证书时,Citrix Receiver for Android 现在使用验证服务器证书时服务器(或网关)提供的所有证书。与在早期版本的 Citrix Receiver for Android 中相同,也会检查证书是否受信任。如果证书不全部可信,连接将失败。

与 Web 浏览器中的证书策略相比,此策略更加严格。许多 Web 浏览器都包括大量信任的根证书。

必须为服务器(或网关)配置一组正确的证书。一组不正确的证书可能会导致 Citrix Receiver for Android 的连接失败。

假定为网关配置了以下有效的证书。建议需要更加严格的验证的客户使用此配置,方式是准确确定哪个根证书将由 Citrix Receiver for Android 使用:

  • “示例服务器证书”
  • “示例中间证书”
  • “示例根证书”

然后,Citrix Receiver for Android 将检查所有这些证书是否都有效。Citrix Receiver for Android 还将检查其是否已信任“示例根证书”。如果 Citrix Receiver for Android 不信任“示例根证书”,连接将失败。

重要提示

某些证书颁发机构具有多个根证书。如果您需要使用这一更加严格的验证方法,请确保您的配置使用恰当的根证书。例如,当前存在两个可以验证相同的服务器证书的证书(DigiCert/GTE CyberTrust Global Root 和 DigiCert Baltimore Root/Baltimore CyberTrust Root)。在某些用户设备上,这两个根证书都可用。在其他设备上,只有一个可用 (DigiCert Baltimore Root/Baltimore CyberTrust Root)。如果您在网关上配置了 GTE CyberTrust Global Root,这些用户设备上的 Citrix Receiver for Android 连接将失败。请参阅证书颁发机构的文档以确定应使用的根证书。另请注意,根证书最终会过期,所有证书也是如此。

注意

某些服务器和网关从不发送根证书,即使已配置也是如此。更加严格的验证因而不可行。

现在假定为网关配置了以下有效的证书。通常推荐使用此配置(忽略根证书):

  • “示例服务器证书”
  • “示例中间证书”

之后,Citrix Receiver for Android 将使用这两个证书。随后将搜索用户设备上的根证书。如果发现一个正确验证的根证书,并且也可信(例如“示例根证书”),连接将成功。否则,连接将失败。此配置提供 Citrix Receiver for Android 所需的中间证书,但是还允许 Citrix Receiver for Android 选择任何有效的、受信任的根证书。

现在假定为网关配置了以下证书:

  • “示例服务器证书”
  • “示例中间证书”
  • “错误的根证书”

Web 浏览器可能会忽略错误的根证书。但是,Citrix Receiver for Android 将不忽略错误的根证书,并且连接将失败。

某些证书颁发机构使用多个中间证书。在这种情况下,通常为网关配置所有中间证书(但不配置根证书),例如:

  • “示例服务器证书”
  • “示例中间证书 1”
  • “示例中间证书 2”

重要提示

某些证书颁发机构使用交叉签名的中间证书。这专用于存在多个根证书,并且同时仍在使用早期版本的根证书作为较高版本的根证书的情形。在这种情况下,将至少存在两个中间证书。例如,早期版本的根证书“Class 3 Public Primary Certification Authority”具有相应的交叉签名的中间证书“VeriSign Class 3 Public Primary Certification Authority - G5”。但是,相应的更高版本的根证书“VeriSign Class 3 Public Primary Certification Authority - G5”也可用,该版本将替换“Class 3 Public Primary Certification Authority”。更高版本的根证书不使用交叉签名的中间证书。  

注意

交叉签名的中间证书和根证书具有相同的使用者名称(颁发对象),但交叉签名的中间证书具有不同的颁发者名称(颁发者)。这一差别将交叉签名的中间证书与普通的中间证书(例如“示例中间证书 2”)区分开来。

通常推荐使用此配置(忽略根证书和交叉签名的中间证书):

  • “示例服务器证书”
  • “示例中间证书”

请避免将网关配置为使用交叉签名的中间证书,因为网关将选择早期版本的根证书:

  • “示例服务器证书”
  • “示例中间证书”
  • “示例交叉签名中间证书”[不推荐]

建议不要仅为网关配置服务器证书:

  • “示例服务器证书”

在这种情况下,如果 Citrix Receiver for Android 找不到所有中间证书,连接将失败。

故障排除