Konfiguration der Zertifizierungsstelle
Dieser Artikel beschreibt die erweiterte Konfiguration des Federated Authentication Service (FAS) zur Integration mit Zertifizierungsstellenservern (CA-Servern). Die meisten dieser Konfigurationen werden von der FAS-Verwaltungskonsole nicht unterstützt. Die Anweisungen verwenden PowerShell-APIs, die von FAS bereitgestellt werden. Sie müssen über grundlegende PowerShell-Kenntnisse verfügen, bevor Sie die Anweisungen in diesem Artikel ausführen.
Einrichten mehrerer CA-Server zur Verwendung in FAS
Sie können die FAS-Verwaltungskonsole verwenden, um FAS mit mehreren Zertifizierungsstellen (CAs) zu konfigurieren, während Sie eine Regel erstellen oder bearbeiten:

Alle von Ihnen ausgewählten Zertifizierungsstellen müssen die Zertifikatvorlage Citrix_SmartcardLogon veröffentlichen (oder welche Vorlage Sie auch immer in Ihrer Regel gewählt haben).
Wenn eine der Zertifizierungsstellen, die Sie verwenden möchten, die gewünschte Vorlage nicht veröffentlicht, führen Sie den Schritt Einrichten einer Zertifizierungsstelle für die Zertifizierungsstelle aus.
Hinweis:
Sie müssen den Schritt Diesen Dienst autorisieren nicht für jede Zertifizierungsstelle ausführen, da das in diesem Schritt konfigurierte Autorisierungszertifikat bei jeder Ihrer Zertifizierungsstellen verwendet werden kann.
Erwartete Verhaltensänderungen
Nachdem Sie den FAS-Server mit mehreren CA-Servern konfiguriert haben, wird die Generierung von Benutzerzertifikaten auf alle konfigurierten CA-Server verteilt. Wenn einer der konfigurierten CA-Server ausfällt, wechselt der FAS-Server außerdem zu einem anderen verfügbaren CA-Server.
Konfigurieren der Microsoft-Zertifizierungsstelle für den TCP-Zugriff
FAS greift über DCOM auf die Microsoft-Zertifizierungsstelle zu. DCOM verwendet Port 135, um den Port zu ermitteln, an dem der Dienst lauscht. Standardmäßig wird der Listening-Port dynamisch zugewiesen.
Dies kann bei der Implementierung der Firewall-Sicherheit zu Komplexitäten führen. Daher bietet Microsoft die Möglichkeit, einen statischen Port zu konfigurieren.
Um einen statischen Port auf der Microsoft-Zertifizierungsstelle zu konfigurieren, wählen Sie Start > Ausführen > dcomcnfg.exe, um das DCOM-Konfigurationsfenster zu öffnen. Erweitern Sie Computer > Mein Computer > DCOM-Konfiguration, um den CertSrv Request-Knoten anzuzeigen. Bearbeiten Sie dann die Eigenschaften der DCOM-Anwendung CertSrv Request:

Ändern Sie die Endpunkte, um einen statischen Endpunkt auszuwählen und eine TCP-Portnummer anzugeben (900 in der vorhergehenden Abbildung).
In diesem Beispiel muss die Firewall Port 135 und Port 900 zulassen.
Starten Sie die Microsoft-Zertifizierungsstelle neu, um die Änderung zu übernehmen.
Es ist nicht erforderlich, den FAS-Server (oder andere Maschinen, die die Zertifizierungsstelle verwenden) zu konfigurieren, da DCOM eine Aushandlungsphase über den RPC-Port 135 hat. Wenn ein Client DCOM verwenden muss, verbindet er sich mit dem DCOM-RPC-Dienst auf dem Server und fordert Zugriff auf einen bestimmten DCOM-Server an. Dies löst das Öffnen von Port 900 (in diesem Beispiel) aus, und der DCOM-Server weist den Client an, sich mit diesem Port zu verbinden.
Benutzerzertifikate vorgenerieren
Die Anmeldezeit für Benutzer wird erheblich verbessert, wenn Benutzerzertifikate innerhalb des FAS-Servers vorgeneriert werden. Die folgenden Abschnitte beschreiben, wie dies für einzelne oder mehrere FAS-Server erfolgen kann.
Liste der Active Directory-Benutzer abrufen
Sie können die Zertifikatgenerierung verbessern, indem Sie das AD abfragen und die Benutzerliste in einer Datei (z. B. einer .csv-Datei) speichern, wie im folgenden Beispiel gezeigt.
Import-Module ActiveDirectory
$searchbase = "cn=users,dc=bvt,dc=local" # AD User Base to Look for Users, leave it blank to search all
$filename = "user_list.csv" # Filename to save
if ($searchbase -ne ""){
Get-ADUser -Filter {(UserPrincipalName -ne "null") -and (Enabled -eq "true")} -SearchBase $searchbase -Properties UserPrincipalName | Select UserPrincipalName | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $filename
} else {
Get-ADUser -Filter {(UserPrincipalName -ne "null") -and (Enabled -eq "true")} -Properties UserPrincipalName | Select UserPrincipalName | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $filename
}
<!--NeedCopy-->
Get-ADUser ist ein Standard-Cmdlet zum Abfragen einer Benutzerliste. Das vorhergehende Beispiel enthält ein Filterargument, um nur Benutzer mit einem UserPrincipalName und einem Kontostatus von ‘aktiviert’ aufzulisten.
Das SearchBase-Argument grenzt ein, welcher Teil des AD nach Benutzern durchsucht werden soll. Sie können dies weglassen, wenn Sie alle Benutzer im AD einschließen möchten.
Hinweis:
Diese Abfrage kann eine große Anzahl von Benutzern zurückgeben.
Die CSV-Datei sieht etwa so aus:
FAS-Server
Das folgende PowerShell-Skript übernimmt die zuvor generierte Benutzerliste und erstellt eine Liste von Benutzerzertifikaten.
Add-PSSnapin Citrix.A*
$csv = "user_list.csv"
$rule = "default" # rule/role in your admin console
- $users = Import-Csv -encoding utf8 $csv
foreach ( $user in $users )
- {
$server = Get-FasServerForUser -UserPrincipalNames $user.UserPrincipalName
if( $server.Server -ne $NULL) {
New-FasUserCertificate -Address $server.Server -UserPrincipalName $user.UserPrincipalName -CertificateDefinition $rule"_Definition" -Rule $rule
}
if( $server.Failover -ne $NULL) {
New-FasUserCertificate -Address $server.Failover -UserPrincipalName $user.UserPrincipalName -CertificateDefinition $rule"_Definition" -Rule $rule
}
}
<!--NeedCopy-->
Wenn Sie mehr als einen FAS-Server haben, wird das Zertifikat eines bestimmten Benutzers zweimal generiert: einmal auf dem Hauptserver und einmal auf dem Failover-Server.
Das vorhergehende Skript ist für eine Regel namens ‘default’ ausgelegt. Wenn Sie einen anderen Regelnamen haben (z. B. ‘hello’), ändern Sie die Variable $rule im Skript.
FAS-Autorisierungszertifikat erneuern
Sie können ein FAS-Autorisierungszertifikat erneuern, ohne die FAS-Benutzer zu unterbrechen.
Verwenden der FAS-Verwaltungskonsole
- Klicken Sie auf Reautorisieren, um eine neue Anforderung für ein FAS-Autorisierungszertifikat zu generieren:
Sie müssen die Anforderung bei der Zertifizierungsstelle manuell genehmigen. Weitere Informationen finden Sie unter Federated Authentication Service autorisieren.
- Sobald ein neues Autorisierungszertifikat generiert wurde, zeigt FAS an, dass es noch nicht mit Ihren Regeln verknüpft ist. Klicken Sie auf **Konfiguration aktualisieren**, um das neue Autorisierungszertifikat mit Ihren Regeln zu verknüpfen. 
Verwenden von PowerShell
Führen Sie die folgende Sequenz aus:
-
Erstellen Sie ein Autorisierungszertifikat:
`New-FasAuthorizationCertificate` -
Notieren Sie die GUID des neuen Autorisierungszertifikats, wie sie von
`Get-FasAuthorizationCertificate`zurückgegeben wird: -
Tauschen Sie das neue Autorisierungszertifikat aus:
`Set-FasCertificateDefinition –AuthorizationCertificate <GUID>` -
Löschen Sie das alte Autorisierungszertifikat:
`Remove-FasAuthorizationCertificate`. Stellen Sie sicher, dass Sie die Option`DeleteUserCerts $false`verwenden, damit die Benutzeraktivität nicht unterbrochen wird.
FAS deautorisieren und FAS-Zertifikate löschen
Verwenden der FAS-Verwaltungskonsole
- Klicken Sie auf den Link **Deautorisieren** und löschen Sie die Autorisierungszertifikate. Sie können alle Benutzerzertifikate und alle Regeln löschen (obwohl dies zum Löschen von Zertifikaten nicht erforderlich ist).
- 
- Wenn Sie die Regeln nicht löschen, erhalten Sie beim späteren Autorisieren von FAS eine Warnung: 
Die Warnung weist darauf hin, dass das Autorisierungszertifikat noch nicht mit Ihren Regeln verknüpft ist. Klicken Sie auf Konfiguration aktualisieren, um das neue Autorisierungszertifikat mit Ihren Regeln zu verknüpfen.
Verwenden von PowerShell
Verwenden Sie den folgenden PowerShell-Befehl, um das Autorisierungszertifikat und die Benutzerzertifikate zu löschen:
$AuthCert = Get-FasAuthorizationCertificate -Address localhost
Remove-FasAuthorizationCertificate -Address localhost -Id $AuthCert.Id
<!--NeedCopy-->
- > **Hinweis:** > > `Get-FasAuthorizationCertificate` gibt eine Liste von Autorisierungszertifikaten und ausstehenden Autorisierungszertifikatsanforderungen zurück, damit Sie den Wert von `$AuthCert` überprüfen können, bevor Sie mit `Remove-FasAuthorizationCertificate` fortfahren.
Sie können das Autorisierungszertifikat entfernen, aber die Benutzerzertifikate beibehalten, indem Sie den Parameter DeleteUserCerts auf false setzen:
Remove-FasAuthorizationCertificate -Address localhost -Id $AuthCert.Id -DeleteUserCerts $false
Die verbleibenden Benutzerzertifikate können weiterhin von FAS für die VDA-Anmeldung und In-Session-Zertifikate verwendet werden, was bei der Erneuerung der FAS-Autorisierung nützlich ist. Weitere Informationen finden Sie unter FAS-Autorisierungszertifikat erneuern.
- Sie können Benutzerzertifikate wie folgt entfernen:
Remove-FasUserCertificate -Address localhost
Dieser Befehl entfernt alle Benutzerzertifikate vom FAS-Server. Der Befehl verfügt über Optionen zum Filtern der zu entfernenden Zertifikate.
Hinweis:
Wenn FAS ein Autorisierungs- oder Benutzerzertifikat aus seinem internen Speicher entfernt, löscht es auch das zugehörige Schlüsselpaar.
-
Offline-Autorisierung
- Das FAS-Autorisierungszertifikat kann offline mithilfe von PowerShell angefordert werden. Dies ist für Organisationen geeignet, die nicht möchten, dass ihre Zertifizierungsstelle ein Autorisierungszertifikat über eine Online-Zertifikatsignierungsanforderung ausstellt.
-
Führen Sie während der anfänglichen FAS-Konfiguration über die Verwaltungskonsole nur die ersten beiden Schritte aus: Zertifikatvorlagen bereitstellen und Zertifizierungsstelle einrichten.

-
Laden Sie die folgenden PowerShell-Cmdlets auf dem FAS-Server:
Add-PSSnapin Citrix.Authentication.FederatedAuthenticationService.V1` <!--NeedCopy--> -
Generieren Sie das Schlüsselpaar und erstellen Sie die Zertifikatsignierungsanforderung, indem Sie das folgende PowerShell-Cmdlet auf dem FAS-Server eingeben:
$AuthCertRequest = New-FasAuthorizationCertificateRequest -Address localhost $AuthCertRequest <!--NeedCopy-->Dies führt zu:

Hinweis:
Die Eigenschaften des generierten Schlüsselpaars werden durch die FAS-Autorisierungsschlüsselkonfiguration bestimmt. Weitere Informationen finden Sie unter Schutz privater Schlüssel.
-
Kopieren Sie die Zertifikatsanforderung auf die Festplatte:
`$AuthCertRequest.CertificateRequest > c:\temp\authcert.csr <!--NeedCopy--> -
Legen Sie die Zertifikatsanforderungsdatei (in diesem Beispiel authcert.csr) Ihrer Zertifizierungsstelle vor, genehmigen Sie die Anforderung und erhalten Sie eine Zertifikatsantwort.
Die folgenden fünf Schritte sind spezifisch für die Verwendung einer Microsoft Enterprise-Zertifizierungsstelle; für andere Zertifizierungsstellen wenden Sie sich an Ihren CA-Anbieter, um Hilfe zu erhalten.
-
Fügen Sie auf Ihrem Zertifizierungsstellenserver das MMC-Snap-In für Zertifikatvorlagen hinzu. Klicken Sie mit der rechten Maustaste auf die Vorlage Citrix_RegistrationAuthority_ManualAuthorization und wählen Sie Vorlage duplizieren. Wählen Sie die Registerkarte Allgemein. Ändern Sie den Namen und die Gültigkeitsdauer. In diesem Beispiel lautet der Name Offline_RA und die Gültigkeitsdauer beträgt zwei Jahre:

-
Fügen Sie auf Ihrem Zertifizierungsstellenserver das MMC-Snap-In für die Zertifizierungsstelle hinzu. Klicken Sie mit der rechten Maustaste auf Zertifikatvorlagen. Wählen Sie Neu und klicken Sie dann auf Ausstellende Zertifikatvorlage. Wählen Sie die von Ihnen erstellte Vorlage aus.
-
Übermitteln Sie die Zertifikatsignierungsanforderung an Ihre Zertifizierungsstelle, indem Sie Folgendes in einer PowerShell-Eingabeaufforderung auf dem FAS-Server eingeben:
certreq -submit -attrib "certificatetemplate:<certificate template from step 5a>" <certificate request file from step 4> <!--NeedCopy-->Zum Beispiel:
certreq -submit -attrib "certificatetemplate:Offline_RA" C:\temp\authcert.csr <!--NeedCopy-->Die Ausführung des vorhergehenden Befehls führt zu:

An dieser Stelle kann ein Fenster Zertifizierungsstellenliste erscheinen. Die Zertifizierungsstelle in diesem Beispiel hat sowohl DCOM (oben) als auch HTTP (unten) für die Registrierung aktiviert. Wählen Sie DCOM, falls verfügbar, und klicken Sie dann auf OK:

Nachdem die Zertifizierungsstelle angegeben wurde, wird der Befehl abgeschlossen und die RequestID angezeigt:

-
Klicken Sie auf dem Zertifizierungsstellenserver im MMC-Snap-In der Zertifizierungsstelle auf Ausstehende Anforderungen. Suchen Sie die Anforderungs-ID. Klicken Sie dann mit der rechten Maustaste auf die Anforderung und wählen Sie Ausstellen.
-
Wählen Sie den Knoten Ausgestellte Zertifikate. Suchen Sie das ausgestellte Zertifikat (die Anforderungs-ID muss übereinstimmen). Doppelklicken Sie, um das Zertifikat zu öffnen. Wählen Sie die Registerkarte Details. Klicken Sie auf In Datei kopieren. Der Zertifikatexport-Assistent wird gestartet. Klicken Sie auf Weiter. Wählen Sie die folgenden Optionen für das Dateiformat:

Das Format muss Cryptographic Message Syntax Standard – PKCS #7 Certificates (.P7B) sein und Alle Zertifikate im Zertifizierungspfad einschließen, wenn möglich muss ausgewählt sein.
-
-
Kopieren Sie die exportierte Zertifikatsdatei auf den FAS-Server.
-
Importieren Sie das Registrierungsstellenzertifikat in den FAS-Server, indem Sie das folgende PowerShell-Cmdlet auf dem FAS-Server eingeben:
Import-FasAuthorizationCertificateResponse -Address localhost -Id $AuthCertRequest.Id -Pkcs7CertificateFile <Certificate file from step 6> <!--NeedCopy-->Zum Beispiel:
Import-FasAuthorizationCertificateResponse -Address localhost -Id $AuthCertRequest.Id -Pkcs7CertificateFile C:\temp\response.p7b <!--NeedCopy-->Die Ausführung dieses Befehls führt zu:

-
Überprüfen Sie die FAS-Administrationskonsole. Es muss angezeigt werden, dass FAS jetzt autorisiert ist.

Hinweis:
Der Schritt Diesen Dienst autorisieren hat ein grünes Häkchen daneben.
-
Fahren Sie mit der Konfiguration fort, indem Sie eine Regel erstellen. Weitere Informationen finden Sie unter Regeln konfigurieren.
Verwandte Informationen
- Der Artikel Installieren und Konfigurieren ist die primäre Referenz für die FAS-Installation und -Konfiguration.
- Die gängigen Bereitstellungsarchitekturen des Federated Authentication Service sind im Artikel Bereitstellungsarchitekturen zusammengefasst.
- Weitere Anleitungsartikel finden Sie im Artikel Erweiterte Konfiguration.

