密钥存储提供程序 (KSP) 远程处理 (预览版)

Last published : Oct 24, 2026

简介

以前,从 Windows VDA 到 FAS 服务器的加密操作远程处理是通过使用在 VDA 上运行的一对加密服务提供程序 (CSP) 实现的:
  • CitrixLogonCsp.dll - 用于对 VDA 进行单点登录 (SSO)
  • CitrixVirtualSmartcardCsp.dll - 用于会话内证书
借助此功能,加密操作远程处理也可以通过使用一对 KSP 来实现:
  • CitrixLogonKsp.dll - 用于对 VDA 进行 SSO
  • CitrixVirtualSmartcardKsp.dll - 用于会话内证书
KSP 是向 Windows 应用程序公开加密操作的最新方式,它提供了更多功能。例如:
  • 支持带 ECC 密钥的证书
  • 概率签名方案 (PSS) 填充受支持
注意:
无法在 FAS 上启用 ECC 密钥。

启用 KSP 远程处理

通过创建以下注册表项来启用 KSP 远程处理:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Citrix\Authentication\UserCredentialService\RemoteKspFeature
类型: string
值: on
  • FAS 服务器和 VDA 软件都必须运行 CVAD 2407 软件。
  • 通过在 FAS 服务器和 VDA 上创建注册表项来启用 KSP 远程处理。
  • 重新启动 FAS 服务器和 VDA 以使更改生效。
如果上述任何条件未满足,VDA 将回退到使用 CSP 远程处理。

验证 KSP 远程处理是否已开启

在 FAS 服务器上,您可以使用 Powershell 检查 KSP 远程处理是否已开启:
KSP 远程处理已启用
要检查 KSP 远程处理是否已用于 VDA SSO,请在 FAS 服务器的 Windows 应用程序日志中查找以下事件:
VDA SSO
操作 SignHash2 表示使用 KSP 远程处理,而 SignHash 表示 CSP 远程处理。
同样,当会话内证书用于加密(例如 TLS 客户端身份验证)时,请在 FAS 服务器上查找以下事件:
加密事件

已知限制

仅当 FAS 本身配置为使用 KSP 时才支持 KSP 远程处理。这是默认配置。如果 FAS 配置为使用 CSP,KSP 远程处理将不起作用。
相关设置是:
<add key="Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderLegacyCsp" value="false" /> 在文件 %programfiles%\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe.config 中
在此,False 表示 FAS 配置了 KSP,因此支持 KSP 远程处理。