使用配置文件配置 StoreFront

本文介绍了不能使用 Citrix StoreFront 管理控制台执行的其他配置任务。

重要:

在多服务器部署中,请一次仅使用一台服务器以更改服务器组的配置。确保 Citrix StoreFront 管理控制台未在部署中的任何其他服务器上运行。完成后, 请将对配置所做的更改传播到服务器组,以便更新部署中的其他服务器。

启用 ICA 文件签名服务

StoreFront 提供了对 ICA 文件进行数字签名的选项,以便支持此功能的 Citrix Workspace 应用程序版本能够验证文件是否来自可信来源。在 StoreFront 中启用文件签名功能后,系统将使用来自 StoreFront 服务器个人证书存储的证书对用户启动应用程序时生成的 ICA 文件进行签名。可以使用 StoreFront 服务器上运行的操作系统支持的任何哈希算法对 ICA 文件进行签名。不支持 ICA 文件签名服务功能或未配置为支持此功能的客户端将忽略数字签名。如果签名过程失败,生成的 ICA 文件将不带数字签名,并发送到 Citrix Receiver,由 Citrix Receiver 的配置决定是否接受未签名的文件。

要通过 StoreFront 将证书用于 ICA 文件签名服务,该证书中必须包含私钥且处于允许的有效期内。如果证书中包含密钥用法扩展,则此扩展必须允许将密钥用于数字签名。如果包含经过扩展的密钥用法扩展,则必须将其设置为支持代码签名或服务器身份验证。

对于 ICA 文件签名服务,Citrix 建议使用从公共证书颁发机构或贵组织的私有证书颁发机构获得的代码签名或 SSL 签名证书。如果无法从证书颁发机构获得恰当的证书,则可以使用现有 SSL 证书(例如服务器证书),或者创建一个新的根证书颁发机构证书并将其分发给用户设备。

默认情况下,ICA 文件签名服务在应用商店中处于禁用状态。要启用 ICA 文件签名服务功能,您需要编辑应用商店配置文件并执行 Windows PowerShell 命令。有关在 Citrix Workspace 应用程序中启用 ICA 文件签名服务的详细信息,请参阅用于防止从不可信服务器启动应用程序或桌面的 ICA 文件签名服务

注意:

StoreFront 和 PowerShell 控制台不能同时打开。使用 PowerShell 控制台管理 StoreFront 配置之前,请始终关闭 StoreFront 管理控制台。同样,打开 StoreFront 控制台之前,请关闭 PowerShell 的所有实例。

  1. 确保要用于对 ICA 文件进行签名的证书在 StoreFront 服务器上的 Citrix 交付服务证书存储中可用,而在当前用户的证书存储中不可用。

  2. 使用文本编辑器打开应用商店的 web.config 文件,该文件通常位于 C:\inetpub\wwwroot\Citrix\storename\ 目录中,其中 storename 为创建应用商店时为其指定的名称。

  3. 在此文件中查找以下部分。

    <certificateManager>
        <certificates>
            <clear />
            <add ... />
            ...
        </certificates>
    </certificateManager>
    
  4. 包含要用于签名的证书的详细信息。

    <certificateManager>
        <certificates>
            <clear />
            <add id="certificateid" thumb="certificatethumbprint" />
            <add ... />
        ...
        </certificates>
    </certificateManager>
    

    其中 certificateid 是便于在应用商店配置文件中识别证书的值,certificatethumbprint 是哈希算法生成的证书数据的摘要(或指纹)。

  5. 在此文件中查找以下元素。

    <icaFileSigning enabled="False" certificateId="" hashAlgorithm="sha1" />
    
  6. 将 enabled 属性的值更改为 True 可为应用商店启用 ICA 文件签名服务。将 certificateId 属性的值设置为用来标识证书的 ID,即步骤 4 中的 certificateid

  7. 如果要使用除 SHA-1 之外的其他哈希算法,请根据需要将 hashAgorithm 属性的值设置为 sha256、sha384 或 sha512。

  8. 使用具有本地管理员权限的帐户启动 Windows PowerShell,并在命令提示窗口中键入以下命令,以允许应用商店访问私钥。

    Add-PSSnapin Citrix.DeliveryServices.Framework.Commands
      $certificate = Get-DSCertificate "certificatethumbprint"
    Add-DSCertificateKeyReadAccess -certificate $certificates[0] -accountName "IIS APPPOOL\Citrix Delivery Services Resources"
    

    其中 certificatethumbprint 是通过哈希算法生成的证书数据的摘要。

禁用文件类型关联

默认情况下,文件类型关联在应用商店中处于启用状态,这样,当用户打开相应类型的本地文件时,系统会将内容无缝重定向到用户订阅的应用程序。要禁用文件类型关联,请编辑应用商店配置文件。

  1. 使用文本编辑器打开应用商店的 web.config 文件,该文件通常位于 C:\inetpub\wwwroot\Citrix\storename\ 目录中,其中 storename 为创建应用商店时为其指定的名称。

  2. 在此文件中查找以下元素。

    <farmset ... enableFileTypeAssociation="on" ... >
    
  3. 将 enableFileTypeAssociation 属性的值更改为 off,为应用商店禁用文件类型关联。

自定义 Citrix Workspace 应用程序登录对话框

用户登录应用商店时,默认情况下,登录对话框中将不显示标题文本。可以显示默认文本“请登录”或编写自己的自定义消息。要显示和自定义登录对话框中的标题文本,请编辑身份验证服务的文件。

  1. 使用文本编辑器打开用于身份验证服务的 UsernamePassword.tfrm 文件,该文件通常位于 C:\inetpub\wwwroot\Citrix\Authentication\App_Data\Templates\ 目录中。

  2. 在此文件中查找以下行。

    @* @Heading("ExplicitAuth:AuthenticateHeadingText") *@
    
  3. 删除前导和尾随前导 @* 及尾随 *@,取消语句的注释状态。

    @Heading("ExplicitAuth:AuthenticateHeadingText")
    

    Citrix Workspace 应用程序用户在登录使用此身份验证服务的应用商店时,将看到默认的标题文本“请登录”,或者此文本的相应本地化版本。

  4. 要修改标题文本,请使用文本编辑器打开用于身份验证服务的 ExplicitFormsCommon.xx.resx 文件,该文件通常位于 C:\inetpub\wwwroot\Citrix\Authentication\App_Data\resources\ 目录中。

  5. 在此文件中查找以下元素。编辑 <value> 元素中的文本,以修改用户在访问使用此身份验证服务的应用商店时在登录对话框中看到的主题文本。

    <data name="AuthenticateHeadingText" xml:space="preserve">
        <value>My Company Name</value>
    </data>
    

    要为使用其他区域设置的用户修改登录对话框标题文本,请编辑已本地化的文件 ExplicitAuth.languagecode.resx,其中 languagecode 为区域设置标识符。

阻止适用于 Windows 的 Citrix Workspace 应用程序缓存密码和用户名

默认情况下,适用于 Windows 的 Citrix Workspace 应用程序会在用户登录 StoreFront 应用商店时存储其密码。要阻止 Citrix Receiver for Windows 或适用于 Windows 的 Citrix Workspace 应用程序(但 Citrix Receiver for Windows Enterprise 除外)缓存用户的密码,请编辑身份验证服务的文件。

  1. 使用文本编辑器打开文件 inetpub\wwwroot\Citrix\Authentication\App_Data\Templates\UsernamePassword.tfrm。

  2. 在此文件中查找以下行。

    @SaveCredential(id: @GetTextValue("saveCredentialsId"), labelKey: "ExplicitFormsCommon:SaveCredentialsLabel", initiallyChecked: ControlValue("SaveCredentials"))
    
  3. 按如下所示,注释掉语句。

    <!-- @SaveCredential(id: @GetTextValue("saveCredentialsId"), labelKey: "ExplicitFormsCommon:SaveCredentialsLabel", initiallyChecked: ControlValue("SaveCredentials")) -->
    

    用户每次登录使用此身份验证服务的应用商店时都必须输入其密码。此设置不适用于 Citrix Receiver for Windows Enterprise。

警告:

注册表编辑器使用不当可能导致严重问题,可能需要重新安装操作系统。Citrix 无法保证因注册表编辑器使用不当导致出现的问题能够得以解决。使用注册表编辑器需自担风险。请确保在编辑注册表之前进行备份。

默认情况下,Citrix Receiver for Windows 自动填充上次输入的用户名。要禁止填充用户名字段,请编辑用户设备上的注册表:

  1. 创建 REG_SZ 值 HKLM\SOFTWARE\Citrix\AuthManager\RememberUsername。
  2. 将其值设置为“false”。
上一步

使用配置文件配置 StoreFront