Schutz privater Schlüssel

Last published : Oct 24, 2026

Einführung

FAS-Zertifikate werden in einer eingebetteten Datenbank auf dem FAS-Server gespeichert. Die privaten Schlüssel, die mit FAS-Zertifikaten verknüpft sind, werden unter dem Netzwerkkonto (Network Service account) des FAS-Servers gespeichert. Standardmäßig sind die Schlüssel nicht exportierbar, 2048-Bit-RSA und werden im Microsoft Software Key Storage Provider erstellt und gespeichert.
Mithilfe von FAS-PowerShell-Befehlen PowerShell-Cmdlets können die Eigenschaften und der Speicherort der privaten Schlüssel geändert werden.
Hinweis:
FAS-Konfiguration und -Zertifikate werden lokal auf dem FAS-Server gespeichert. Die Daten werden nicht zwischen FAS-Servern geteilt.
In FAS-Versionen vor Citrix Virtual Apps and Desktops 2411 wurden die Eigenschaften privater Schlüssel durch Bearbeiten der XML-Datei unter %programfiles%\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe.config. konfiguriert. Dies wurde durch PowerShell-Befehle abgelöst, die mehr Flexibilität bieten und ohne Neustart des FAS-Servers angewendet werden können. Im Gegensatz zu den XML-Dateieinstellungen bleibt die mit PowerShell vorgenommene Konfiguration bei einem Upgrade des FAS-Servers erhalten. Daher wird die Konfiguration der folgenden Einstellungen über die XML-Datei nicht mehr unterstützt:
  • Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyProtection
  • Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderLegacyCsp
  • Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderName
  • Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderType
  • Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyLength

Informationen zu FAS-Zertifikaten und -Vorlagen

Es gibt zwei Arten von Zertifikaten, die von FAS verwaltet werden: das Autorisierungszertifikat, von dem es normalerweise eine Instanz gibt, und die Benutzerzertifikate.
Hinweis:
Das FAS-Autorisierungszertifikat wird manchmal auch als Registrierungsstelle- oder Anforderungsagent- (RA-)Zertifikat bezeichnet.
FAS verwendet Zertifikatvorlagen beim Anfordern von Zertifikaten, wie im folgenden Abschnitt beschrieben. Obwohl FAS den Namen einer Vorlage in Zertifikatanforderungen angibt, liest es den Inhalt der Vorlage nicht. Daher hat das Ändern der Vorlageneinstellungen keinen Einfluss auf die von FAS gestellten Zertifikatanforderungen. Das Ändern bestimmter Eigenschaften der Vorlage wirkt sich auf das von der CA generierte Zertifikat aus. Sie können beispielsweise die Gültigkeitsdauer mithilfe der Vorlage ändern.

FAS-Autorisierungszertifikat

Dieses Zertifikat wird erstellt, wenn Sie FAS konfigurieren. Sie können die Schaltfläche Autorisieren oder Neu autorisieren der FAS-Verwaltungskonsole verwenden, um ein neues Autorisierungszertifikat anzufordern.
Es ist auch möglich, PowerShell-Befehle zu verwenden, die mehr Flexibilität bieten:
  • New-FasAuthorizationCertificate: Dieser Befehl verhält sich ähnlich wie die FAS-Verwaltungskonsole, mit der Ausnahme, dass es möglich ist, die im Autorisierungsprozess zu verwendenden Zertifikatvorlagen anzugeben.
  • New-FasAuthorizationCertificateRequest: Dieser Befehl erstellt eine Offline-Anforderung für ein Autorisierungszertifikat; Offline-Autorisierung.
Das Autorisierungszertifikat wird manchmal auch als RA-Zertifikat bezeichnet, da FAS als Registrierungsstelle fungiert, die Zertifikate im Namen eines Benutzers anfordert. Das Zertifikat verfügt über die erweiterte Schlüsselverwendung Zertifikatanforderungsagent, die es ermöglicht, es als Autorisierungsnachweis beim Anfordern von FAS-Benutzerzertifikaten zu verwenden.
Standardmäßig verwendet der Autorisierungsprozess die folgenden Vorlagen:
  • Citrix_RegistrationAuthority_ManualAuthorization: Das mit dieser Vorlage erstellte Zertifikat ist temporär und kurzlebig und wird zum Bootstrapping des Autorisierungsprozesses verwendet;
  • Citrix_RegistrationAuthority: Das mit dieser Vorlage erstellte Zertifikat hat eine lange Gültigkeit und wird vom FAS-Server gespeichert.
Die Autorisierung von FAS führt zu den folgenden Schritten:
  1. FAS erstellt ein Schlüsselpaar und sendet eine Zertifikatsignieranforderung (CSR) an die CA, wobei der öffentliche Schlüssel des Schlüsselpaars und die Vorlage Citrix_RegistrationAuthority_ManualAuthorization angegeben werden.
  2. Die Ausstellungsanforderungen der Vorlage legen fest, dass die CSR vom CA-Administrator manuell genehmigt werden muss.
  3. Sobald der CA-Administrator die CSR genehmigt hat, erstellt die CA ein Zertifikat, das FAS abruft. Dieses Zertifikat hat eine kurze Gültigkeitsdauer von einem Tag und wird nur für den folgenden Schritt verwendet. Nach der Verwendung zerstört FAS das Zertifikat und sein Schlüsselpaar.
  4. FAS erstellt ein weiteres Schlüsselpaar und sendet eine zweite CSR an die CA, wobei der öffentliche Schlüssel dieses Schlüsselpaars und die Vorlage Citrix_RegistrationAuthority angegeben werden. Die Anforderung wird durch das Zertifikat aus dem vorherigen Schritt autorisiert und signiert.
  5. Die CA stellt das Zertifikat automatisch aus, FAS ruft das Zertifikat ab, und FAS ist nun autorisiert. Standardmäßig hat dieses Autorisierungszertifikat eine Gültigkeitsdauer von zwei Jahren.
Die Einstellungen, die zum Erstellen der zuvor genannten Schlüsselpaare verwendet wurden, können mit diesem PowerShell-Befehl angezeigt werden:
Get-FasKeyConfig -Address localhost -CertificateType ra

FAS-Benutzerzertifikate

FAS erstellt Benutzerzertifikate, um Benutzer bei VDAs anzumelden.
Wenn FAS ein Benutzerzertifikat erstellt, erfolgen die folgenden Schritte:
  • FAS erstellt ein Schlüsselpaar und sendet eine CSR an die CA, wobei der öffentliche Schlüssel des Schlüsselpaars, die Identität des Benutzers und standardmäßig die Vorlage Citrix_SmartcardLogon angegeben werden (die verwendete Vorlage ist konfigurierbar).
  • Die CSR wird mit dem FAS-Autorisierungszertifikat signiert.
  • Die Vorlage Citrix_SmartcardLogon hat die Ausstellungsanforderung Application Policy: Certificate Request Agent. Da dieses Attribut im FAS-Autorisierungszertifikat vorhanden ist, stellt die CA das Benutzerzertifikat automatisch aus.
  • FAS ruft das Zertifikat ab und speichert es in einer eingebetteten Datenbank auf dem FAS-Server.
  • Standardmäßig hat das Zertifikat eine Gültigkeitsdauer von einer Woche.
Später wird das Benutzerzertifikat dem VDA zur Verfügung gestellt, um den Benutzer anzumelden.
Die Einstellungen, die zum Erstellen des zuvor genannten Schlüsselpaars verwendet wurden, können mit dem folgenden PowerShell-Befehl angezeigt werden:
Get-FasKeyConfig -Address localhost -CertificateType user

Optionen für die Speicherung privater Schlüssel

FAS kann so konfiguriert werden, dass Schlüsselpaare in drei Speicherkategorien erstellt und gespeichert werden:
  • Software: Normalerweise unter Verwendung des Microsoft Software Key Storage Provider, der nur durch Software gesichert ist; die Daten werden auf der Festplatte gespeichert.
  • Trusted Platform Module (TPM): Das TPM kann physische Hardware auf dem Computer oder ein virtuelles TPM sein, das von einem Hypervisor bereitgestellt wird.
  • Hardware-Sicherheitsmodul (HSM): Dies ist ein Hardware-Peripheriegerät oder Netzwerkgerät, das zum sicheren Speichern kryptografischer Schlüssel entwickelt wurde.
Hinweis:
Es gibt einen Kompromiss zu beachten. Hardware-Speicher mag sicherer sein, ist aber oft weniger leistungsfähig, insbesondere beim Erstellen und Speichern einer großen Anzahl von Schlüsselpaaren für Benutzerzertifikate.
Der private Schlüssel, der dem FAS-Autorisierungszertifikat zugeordnet ist, ist besonders sensibel, da die Richtlinie des Zertifikats es jedem, der den privaten Schlüssel besitzt, erlaubt, Zertifikatsanfragen für jeden Benutzer zu autorisieren. Folglich kann jeder, der diesen Schlüssel kontrolliert, sich als beliebiger Benutzer mit der Umgebung verbinden.
Hinweis:
Microsoft-CAs können so konfiguriert werden, dass die Berechtigungen des FAS-Autorisierungszertifikats eingeschränkt werden, einschließlich der Gruppe von Benutzern, für die Zertifikate ausgestellt werden können. Siehe Delegierte Registrierungsagenten.
Aus diesem Grund ermöglicht FAS die unabhängige Konfiguration der Eigenschaften des privaten Schlüssels für Autorisierungs- und Benutzerzertifikate.
Einige typische Konfigurationen sind wie folgt:
Schlüssel für Autorisierungszertifikat Schlüssel für Benutzerzertifikate Kommentar
Software Software Standardkonfiguration
TPM Software Autorisierungszertifikat verfügt über Hardwareschutz
HSM HSM Alle Zertifikate verfügen über Hardwareschutz
Hinweis:
Ein Hardware-TPM wird nicht für Benutzerschlüssel empfohlen. Verwenden Sie TPM nur für den Autorisierungszertifikatsschlüssel. Wenn Sie planen, Ihren FAS-Server in einer virtualisierten Umgebung zu betreiben, erkundigen Sie sich bei Ihrem Hypervisor-Anbieter, ob die TPM-Virtualisierung unterstützt wird.

PowerShell-Befehle zur Schlüsselkonfiguration

Die Befehle zur Konfiguration privater Schlüssel lauten wie folgt:
  • Get-FasKeyConfig
  • Set-FasKeyConfig
  • Reset-FasKeyConfig
  • Test-FasKeyConfig
Weitere Informationen finden Sie unter PowerShell-Cmdlets.
Die Schlüsselkonfiguration für Autorisierungs- und Benutzerzertifikate ist unabhängig und wird durch das Argument CertificateType angegeben. Um beispielsweise die Konfiguration des privaten Schlüssels abzurufen, die beim Anfordern eines Autorisierungszertifikats (RA-Zertifikat) verwendet wird:
Get-FasKeyConfig -Address localhost -CertificateType ra
So rufen Sie die Konfiguration des privaten Schlüssels ab, die beim Anfordern eines Benutzerzertifikats verwendet wird:
Get-FasKeyConfig -Address localhost -CertificateType user
Sie können Set-FasKeyConfig und Get-FasKeyConfig verwenden, um die folgenden Eigenschaften des privaten Schlüssels festzulegen und zu überprüfen:
Eigenschaft Standard Kommentar
Länge 2048 Schlüssellänge in Bit. Beachten Sie, dass in der Microsoft-Vorlagen-GUI die Registerkarte Kryptografie die minimale Schlüsselgröße angibt. Die CSR wird von der Zertifizierungsstelle abgelehnt, wenn die in FAS konfigurierte Schlüssellänge kleiner ist als die in der Vorlage angegebene minimale Schlüsselgröße.
Für RSA-Schlüssel können die Längen 1024 Bit, 2048 Bit oder 4096 Bit betragen.
Für ECC-Schlüssel können die Längen 256 Bit, 384 Bit oder 521 Bit betragen.
Exportierbar falsch Gibt an, ob der private Schlüssel von seinem Anbieter exportiert werden kann.
Präfix keine Gibt ein Präfix an, das der Kennung von privaten Schlüsseln hinzugefügt werden soll, die von FAS generiert werden. Die generierten Kennungen bestehen aus dem Präfix und einer GUID. Zum Beispiel: MyPrefix70277985-6908-4C6F-BE59-B08691456804.
EllipticCurve falsch Wenn true, wird ein ECC-Schlüsselpaar generiert, andernfalls ein RSA-Schlüsselpaar.
Schlüsselspeicheranbieter (KSP) wahr Wenn true, verwendet FAS die moderne Windows CNG API, und ein KSP muss in der Eigenschaft Provider angegeben werden.
Wenn false, verwendet FAS die ältere CAPI API, und ein Cryptographic Service Provider (CSP) muss in der Eigenschaft Provider angegeben werden. Citrix empfiehlt die Verwendung eines KSP.
Anbieter Microsoft Software Key Storage Provider Der Name des Anbieters, bei dem Schlüsselpaare erstellt und gespeichert werden. Sie können diese Eigenschaft ändern, um ein TPM oder HSM anzugeben. Der KSP (oder CSP) eines HSM wird vom HSM-Anbieter bereitgestellt. Dieser liefert Anweisungen zur Installation seiner Software und den Namen des Anbieters.
CSPType 24 Nur relevant, wenn die Eigenschaft KSP auf false gesetzt ist.
Bezieht sich auf Microsoft KeyContainerPermissionAccessEntry.ProviderType Property PROV_RSA_AES 24. Muss immer 24 sein, es sei denn, Sie verwenden ein HSM mit einem CSP und der HSM-Anbieter gibt etwas anderes an.
Zusätzlich kann Set-FasKeyConfig mit den folgenden Schaltern verwendet werden, die der Einfachheit halber bereitgestellt werden:
Flag Beschreibung
-UseDefaultSoftwareProvider Legt die Eigenschaft Provider auf Microsoft Software Key Storage Provider und das Feld KSP auf true fest.
-UseDefaultTpmProvider Legt die Eigenschaft Provider auf Microsoft Platform Crypto Provider und das Feld KSP auf true fest.
Microsoft Software Key Storage Provider ist der Anbieter, der normalerweise verwendet wird, um Schlüssel auf der Festplatte zu erstellen und zu speichern.
Microsoft Platform Crypto Provider ist der Anbieter, der normalerweise verwendet wird, um Schlüssel in einem TPM zu erstellen und zu speichern.
Get-FasKeyConfig stellt auch Felder bereit, die helfen zu bestätigen, welcher Anbieter und Algorithmus verwendet werden:
Feld Bedeutung
IsDefaultSoftwareProvider Wenn wahr, bedeutet dies, dass der Anbieter auf Microsoft Software Key Storage Provider und das Feld KSP auf true festgelegt ist.
IsDefaultTpmProvider Wenn „true“, bedeutet dies, dass der Anbieter auf Microsoft Platform Crypto Provider und das Feld KSP auf true gesetzt ist.
Algorithmus RSA bedeutet, dass RSA-Schlüssel erstellt werden (die Eigenschaft EllipticCurve ist false).
ECC bedeutet, dass ECC-Schlüssel erstellt werden (die Eigenschaft EllipticCurve ist true).
Sie können die Einstellungen mit Reset-FasKeyConfig auf die Standardwerte zurücksetzen.
Reset-FasKeyConfig -Address localhost -CertificateType ra
Reset-FasKeyConfig -Address localhost -CertificateType user
Hinweis:
Änderungen an der Konfiguration des privaten Schlüssels (mit Set-FasKeyConfig oder Reset-FasKeyConfig) werden sofort auf neu erstellte Zertifikate angewendet. Bestehende Autorisierungs- und Benutzerzertifikate mit einer anderen Konfiguration sind jedoch nicht betroffen.
Sie können vorhandene Zertifikate entfernen, indem Sie Ihren FAS-Dienst in der Verwaltungskonsole deautorisieren oder PowerShell-Befehle in FAS deautorisieren und FAS-Zertifikate löschen verwenden.
Alle im Schlüsselpool vorab generierten Schlüssel, die nicht der aktuellen Benutzer-Schlüsselkonfiguration entsprechen, werden verworfen.

Beispiele für Konfigurationsszenarien

Legen Sie in jedem Beispiel die Schlüsselkonfiguration mit dem bereitgestellten PowerShell fest, bevor Sie Ihren FAS-Dienst autorisieren, da die vorhandenen Zertifikate von keiner Konfigurationsänderung betroffen sind.
Wenn Sie bereits Autorisierungs- oder Benutzerzertifikate mit der falschen Schlüsselkonfiguration haben, können Sie diese entfernen, indem Sie FAS-Zertifikate prüfen und FAS deautorisieren und FAS-Zertifikate löschen.
Wenn sich Ihr FAS-Server in einem Live-Einsatz befindet, sollten Sie ihn in den Wartungsmodus versetzen, während Sie Konfigurationsänderungen vornehmen Wartungsmodus.

Beispiel 1 – Alle Schlüssel im Microsoft Software Key Storage Provider speichern

Da dies standardmäßig der Fall ist, ist keine zusätzliche Konfiguration erforderlich.
Wenn Sie Ihre Schlüsselkonfiguration zuvor geändert haben, können Sie mit den folgenden Befehlen zur Verwendung des Microsoft Software Key Storage Provider zurückkehren:
Set-FasKeyConfig -Address localhost -CertificateType ra -UseDefaultSoftwareProvider
Set-FasKeyConfig -Address localhost -CertificateType user -UseDefaultSoftwareProvider
Sie können Reset-FasKeyConfig verwenden, um zum Microsoft Software Key Storage Provider zurückzukehren und zusätzlich alle anderen Schlüsselkonfigurationseinstellungen auf die Standardwerte zurückzusetzen.

Beispiel 2 – Speichern des Autorisierungszertifikatschlüssels in einem TPM

Dieses Beispiel veranschaulicht das Speichern des FAS-Autorisierungszertifikatschlüssels in einem TPM (real oder virtuell), während die Benutzerzertifikatschlüssel im Microsoft Software Key Storage Provider gespeichert werden.
Obwohl FAS Benutzerzertifikate mit TPM-geschützten Schlüsseln generieren kann, ist die TPM-Hardware für große Bereitstellungen möglicherweise zu langsam oder größenbeschränkt.
Verwenden Sie die folgenden PowerShell-Befehle:
Set-FasKeyConfig -Address localhost -CertificateType ra -UseDefaultTpmProvider
Set-FasKeyConfig -Address localhost -CertificateType user -UseDefaultSoftwareProvider

Beispiel 3 – Speichern aller Schlüssel in einem HSM

Dieses Beispiel veranschaulicht die Verwendung eines HSM zum Speichern sowohl des Autorisierungszertifikats als auch der privaten Schlüssel von Benutzerzertifikaten. Dieses Beispiel setzt ein konfiguriertes HSM voraus. Ihr HSM hat einen Anbieternamen. Zum Beispiel HSM Vendor Key Storage Provider.
Verwenden Sie die folgenden PowerShell-Befehle (ersetzen Sie den Beispieltext durch den tatsächlichen Namen des Providers Ihres HSM):
Set-FasKeyConfig -Address localhost -CertificateType ra -Provider "HSM Vendor Key Storage Provider"
Set-FasKeyConfig -Address localhost -CertificateType user -Provider "HSM Vendor Key Storage Provider"

Beispiel 4 – Verwenden von Elliptic Curve-Schlüsseln

Standardmäßig generiert FAS RSA-Schlüssel. In diesem Beispiel sind Elliptic Curve (ECC)-Schlüssel sowohl für das Autorisierungszertifikat als auch für Benutzerzertifikate konfiguriert.
Das Beispiel verwendet unterschiedliche Schlüssellängen. Das Autorisierungszertifikat ist mit einem 384-Bit-Schlüssel konfiguriert, und Benutzerzertifikate sind mit einem 256-Bit-Schlüssel konfiguriert.
Set-FasKeyConfig -Address localhost -CertificateType ra -EllipticCurve $true -Length 384
Set-FasKeyConfig -Address localhost -CertificateType user -EllipticCurve $true -Length 256
An diesem Punkt können Autorisierungs- und Benutzerzertifikatsanfragen von der CA abgelehnt werden, da die minimale Schlüssellänge in den FAS-Zertifikatvorlagen standardmäßig auf 1024 Bit eingestellt ist.
Daher ist es für dieses Beispiel erforderlich, die minimale Schlüssellänge in den Vorlagen wie folgt zu ändern:
  • Citrix_RegistrationAuthority_ManualAuthorization and Citrix_RegistrationAuthority: Ändern Sie die minimale Schlüsselgröße auf 384 (oder kleiner)
  • Citrix_SmartcardLogon: Ändern Sie die minimale Schlüsselgröße auf 256 (oder kleiner)
Um die Vorlagen zu bearbeiten, führen Sie mmc.exe aus und fügen Sie das Snap-In Zertifikatvorlagen hinzu. Suchen Sie die Vorlage und öffnen Sie deren Eigenschaften. Die Einstellung für die minimale Schlüsselgröße befindet sich auf der Registerkarte Kryptografie der Vorlageneigenschaften.
Hinweis:
Benutzerzertifikate mit ECC-Schlüsseln werden nur auf Windows-VDAs unterstützt, die Citrix Virtual Apps and Desktops 2411 oder höher ausführen. ECC-Schlüssel werden auf Linux-VDAs nicht unterstützt.

Testen der Konfiguration des privaten Schlüssels

Obwohl der Befehl Set-FasKeyConfig eine gewisse Validierung durchführt, ist es immer noch möglich, eine ungültige Schlüsselkonfiguration festzulegen. Beispielsweise können Sie einen Fehler im Anbieternamen Ihres HSM machen, oder die von Ihnen angegebene Schlüssellänge wird von Ihrer Hardware möglicherweise nicht unterstützt.
Der Befehl Test-FasKeyConfig kann helfen. Er versucht, ein Schlüsselpaar mit der aktuellen Schlüsselkonfiguration zu erstellen, und meldet Erfolg oder Fehler. Tritt ein Fehler auf, wird ein Hinweis auf den Fehlergrund gegeben. Bei Erfolg wird das Schlüsselpaar sofort zerstört.
Die folgenden PowerShell-Befehle testen die Autorisierungs- bzw. Benutzer-Schlüsselkonfiguration:
Test-FasKeyConfig -Address localhost -CertificateType ra
Test-FasKeyConfig -Address localhost -CertificateType user
Nachdem Sie Ihren FAS-Server autorisiert und eine Regel erstellt haben, können Sie zusätzlich eine Test-CSR für ein Benutzerzertifikat wie folgt erstellen:
Test-FasCertificateSigningRequest -Address localhost -UserPrincipalName user@example.com -Rule default
Ersetzen Sie <mailto:user@example.com/> durch einen echten UPN aus Ihrer Active Directory-Bereitstellung. Die FAS-Regel heißt normalerweise default. Wenn Sie jedoch eine andere von Ihnen konfigurierte Regel testen möchten, geben Sie stattdessen diesen Namen an.
Wenn die CSR erfolgreich ist, verwirft FAS das resultierende Zertifikat.

FAS-Zertifikate prüfen

Sie können PowerShell verwenden, um die Eigenschaften eines Zertifikats zu überprüfen und festzustellen, wo der zugehörige private Schlüssel gespeichert ist.

Überprüfen des Autorisierungszertifikats

Sie können das Autorisierungszertifikat anzeigen, indem Sie in der FAS-Verwaltungskonsole auf den Link Autorisierungszertifikat klicken:
Autorisierungszertifikat
Für detailliertere Informationen verwenden Sie jedoch PowerShell:
Get-FasAuthorizationCertificate -Address localhost -FullCertInfo
Es werden mehrere Felder zurückgegeben, darunter PrivateKeyProvider, das einen Hinweis auf den Anbieter enthält, bei dem das Zertifikat erstellt und gespeichert wurde.
PrivateKeyProvider Wo der Schlüssel gespeichert ist
Microsoft Software Key Storage Provider Der Schlüssel wird auf der Festplatte gespeichert und durch den Softwareanbieter von Microsoft geschützt.
Microsoft Platform Crypto Provider Der Schlüssel wird in einem TPM (real oder virtuell) gespeichert.
HSM Vendor Key Storage Provider (nur Beispiel) Der Schlüssel wird in einem HSM gespeichert (in diesem Beispiel heißt der Anbieter des Herstellers HSM Vendor Key Storage Provider)

Überprüfen von Benutzerzertifikaten

Sie können eine Liste aller auf dem FAS-Server zwischengespeicherten Benutzerzertifikate wie folgt abrufen:
Get-FasUserCertificate -Address localhost -KeyInfo $true
Der Parameter KeyInfo bewirkt, dass die Ausgabe weitere Informationen über den mit dem Zertifikat verknüpften privaten Schlüssel enthält. Insbesondere gibt das Feld PrivateKeyProvider an, wo das mit dem Zertifikat verknüpfte Schlüsselpaar gespeichert ist (siehe den vorherigen Abschnitt zur Interpretation dieses Werts).
Sie können die Menge der zurückgegebenen Zertifikate mithilfe verschiedener optionaler Parameter filtern, z. B. -UserPrincipalName.
Das Zertifikatsfeld der Befehlsausgabe ist ein PEM-kodiertes Benutzerzertifikat. Kopieren Sie den Text in eine .crt-Datei, um das Zertifikat wie folgt mit der Windows-Zertifikats-GUI anzuzeigen:
Befehl Beschreibung
$CertInfos = Get-FasUserCertificate -Address localhost Es können mehrere Benutzerzertifikate in dieser Liste vorhanden sein
$CertInfo = $CertInfos[0] In diesem Beispiel wählen wir das allererste Benutzerzertifikat aus
$CertInfo.Certificate > c:\temp\user.crt Leiten Sie die PEM-Daten in eine .crt-Datei um
c:\temp\user.crt Öffnen Sie die .crt-Datei in der Windows-GUI

Upgrade von FAS-Versionen vor Citrix Virtual Apps and Desktops 2411

In FAS-Versionen vor Citrix Virtual Apps and Desktops 2411 wurden die Eigenschaften privater Schlüssel durch Bearbeiten der XML-Datei unter konfiguriert
%programfiles%\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe.config
Dies wurde durch die in diesem Dokument beschriebenen PowerShell-Befehle ersetzt, die mehr Flexibilität bieten und ohne Neustart des FAS-Servers angewendet werden können.
Im Gegensatz zu den XML-Dateieinstellungen bleibt die Konfiguration, die mit PowerShell vorgenommen wurde, auch nach einem Upgrade des FAS-Servers erhalten.
Die für die Konfiguration privater Schlüssel relevanten XML-Dateieinstellungen sind im Folgenden mit ihren entsprechenden PowerShell-Parametern aufgeführt (wie in Get-FasKeyConfig und Set-FasKeyConfig verwendet):
XML-Dateieinstellung Standardwert in der XML-Datei PowerShell-Äquivalent Kommentar
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyLength 2048 -Length -
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyProtection GenerateNonExportableKey -Exportable
-UseDefaultTpmProvider
  • NoProtection wird erreicht, indem -Exportable auf $true gesetzt wird
    -GenerateNonExportableKey wird erreicht, indem -Exportable auf $false gesetzt wird
    -GenerateTPMProtectedKey wird erreicht, indem der Schalter -UseDefaultTpmProvider angegeben wird
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderLegacyCsp falsch -Ksp - ProviderLegacyCsp false wird erreicht, indem -Ksp auf $true gesetzt wird
-ProviderLegacyCsp wird erreicht, indem -Ksp auf $false gesetzt wird
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderName - -Anbieter -
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderType - -CspType -
Die Standardeinstellungen der XML-Konfiguration und die PowerShell-Standardeinstellungen sind funktional gleichwertig. Das heißt, standardmäßig sind die Eigenschaften von Schlüsselpaaren, die von FAS in dieser Version und in Versionen vor Citrix Virtual Apps and Desktops 2411 generiert wurden, identisch.
Wenn Sie daher keine der vorhergehenden Einstellungen in der XML-Konfigurationsdatei geändert haben, müssen Sie beim Upgrade von FAS keine Maßnahmen ergreifen.
Wenn Sie jedoch eine der vorhergehenden Einstellungen geändert haben, führen Sie das Upgrade von FAS wie folgt durch:
  • Versetzen Sie FAS in den Wartungsmodus; Wartungsmodus.
  • Führen Sie ein Upgrade von FAS direkt durch, indem Sie einfach das FAS-Installationsprogramm ausführen; nach dem Upgrade sind alle vorherigen Einstellungen nicht mehr in der XML-Datei vorhanden und können nicht in der XML-Datei konfiguriert werden.
  • Verwenden Sie den PowerShell-Befehl Set-FasKeyConfig, wie in PowerShell-Befehle zur Schlüsselkonfiguration beschrieben, um die FAS-Konfiguration des privaten Schlüssels wie gewünscht festzulegen; berücksichtigen Sie die Einstellungen, die Sie für Ihre Autorisierungs- und Benutzerzertifikate benötigen.
  • Testen Sie Ihre Konfiguration, wie in Testen der Konfiguration des privaten Schlüssels beschrieben.
  • Nehmen Sie den FAS-Server aus dem Wartungsmodus.
Beim nächsten Upgrade bleiben die Konfigurationseinstellungen des privaten FAS-Schlüssels erhalten, und es ist keine besondere Maßnahme erforderlich.

Kryptografisches Remoting

Private Schlüssel, die FAS-Benutzerzertifikaten zugeordnet sind, werden niemals an den VDA übertragen. Stattdessen, wenn der VDA ein FAS-Zertifikat eines Benutzers verwenden muss, entweder zur Anmeldung am VDA oder zur Verwendung innerhalb der Sitzung, wird die kryptografische Anforderung an den FAS-Server zurückgeleitet. Dies verbessert die Sicherheit, da die privaten Schlüssel den FAS-Schlüsselspeicher (egal ob Softwarespeicher, TPM oder HSM) nie verlassen.
Auf Windows-VDAs wird dies durch die Verwendung eines Anbieterpaares auf dem VDA erreicht. Der Anwendungs- oder Betriebssystemcode, der die kryptografische Anforderung stellt, ist sich nicht bewusst, dass der Vorgang an den FAS-Server zurückgeleitet wird.
Vor Citrix Virtual Apps and Desktops 2411 waren die Anbieter Cryptographic Service Providers (CSPs), wobei der Zugriff von Anwendungen und Betriebssystemcode über die ältere Windows CAPI API erfolgte. Die Anbieter waren:
  • CitrixLogonCsp.dll: für Single Sign-On am VDA
  • CitrixVirtualSmartcardCsp.dll: für In-Session-Zertifikate
Ab Citrix Virtual Apps and Desktops 2411 werden zusätzliche Key Storage Providers (KSPs) auf dem VDA bereitgestellt. Anwendungen und Betriebssystemcode greifen über die neuere Windows CNG API darauf zu. Die neuen Anbieter sind:
  • CitrixLogonKsp.dll: für Single Sign-On am VDA
  • CitrixVirtualSmartcardKsp.dll: für In-Session-Zertifikate
KSP ist eine aktuellere Methode, kryptografische Operationen Windows-Anwendungen zugänglich zu machen, die mehr Funktionen bietet. Zum Beispiel:
  • Zertifikate mit ECC-Schlüsseln werden unterstützt
  • Probabilistic Signature Scheme (PSS)-Padding wird unterstützt
KSP-Remoting wird verwendet (d. h. Remoting über die neuen KSPs), wenn sowohl FAS als auch der VDA Citrix Virtual Apps and Desktops 2411 oder höher ausführen. Andernfalls greift das System auf die älteren CSPs für das Remoting zurück.

Deaktivieren des KSP-Remoting

Bei Kompatibilitätsproblemen kann das KSP-Remoting deaktiviert werden, sodass immer das ältere CSP-Remoting verwendet werden kann.
Verwenden Sie das folgende PowerShell-Skript:
Set-FasServer -Address localhost -KspRemoting $false

Wartungsmodus

Wenn Sie Änderungen an der Konfiguration eines aktiven FAS-Servers vornehmen, sollten Sie ihn in den Wartungsmodus versetzen.
Wenn FAS sich im Wartungsmodus befindet, gilt Folgendes:
  • Wenn Workspace oder StoreFront™ FAS im Rahmen der Startsequenz einer veröffentlichten Anwendung oder eines Desktops aufrufen, zeigt FAS an, dass es sich im Wartungsmodus befindet; der Aufrufer muss darauf reagieren, indem er einen anderen FAS-Server wählt.
  • Als zusätzliche Vorsichtsmaßnahme erlaubt FAS die automatische Erstellung von Benutzerzertifikaten im Wartungsmodus nicht. Dadurch wird die unbeabsichtigte Erstellung von Benutzerzertifikaten mit unerwünschten Einstellungen vermieden.
  • Aktivitäten, die bestehende Benutzerzertifikate betreffen, wie z. B. die VDA-Anmeldung oder die Nutzung während der Sitzung, sind jedoch weiterhin zulässig.
Obwohl die automatische Erstellung von Benutzerzertifikaten nicht zulässig ist, können Administratoren Benutzerzertifikate weiterhin mit PowerShell-Befehlen wie New-FasUserCertificate oder Test-FasCertificateSigningRequest erstellen.

Verwenden der Verwaltungskonsole

Wartungsmodus

Verwenden von PowerShell

So versetzen Sie einen FAS-Server in den Wartungsmodus:
Set-FasServer -Address localhost -MaintenanceMode $true
So nehmen Sie einen FAS-Server aus dem Wartungsmodus (und versetzen ihn wieder in den Normalbetrieb):
Set-FasServer -Address localhost -MaintenanceMode $false

Verwandte Informationen