Freigeben über


Ersetzen des STS-Zertifikats für SharePoint Server

GILT FÜR:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

Dieses Thema enthält Informationen zum Ersetzen des SharePoint-Sicherheitstokendienst-Zertifikats (STS) in einer SharePoint-Farm.

Zertifikatanforderungen

Erwerben Sie ein Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle, erstellen Sie ein neues Zertifikat aus einer selbstgehosteten PKI-Infrastruktur (z. B. Active Directory-Zertifikatdienste), oder erstellen Sie ein selbstsigniertes Zertifikat (erstellt über certreq.exe oder New-SelfSignedCertificate). Das Zertifikat muss eine 2048-Bit-Verschlüsselung oder höher verwenden.

Um das STS-Zertifikat zu ersetzen, benötigen Sie das öffentliche Zertifikat (CER) und public durch pfX (Private Key Certificate) und den Anzeigenamen des Zertifikats.

Das Zertifikat sollte während eines Wartungsfensters ersetzt werden, da der SharePoint-Zeitgeberdienst (SPTimerV4) neu gestartet werden muss.

Da öffentliche Zertifikate und standardmäßig private Zertifikate je nach dem angegebenen Gültigkeitszeitraum innerhalb von 1 bis 3 Jahren ablaufen, sollte dieses Verfahren befolgt werden, wenn das Zertifikat verlängert werden muss.

Hinweis

Das STS-Standardzertifikat muss nicht erneuert werden. Die Verlängerung erfolgt nur, nachdem das STS-Zertifikat ersetzt wurde.

Erstellen eines Self-Signed-Zertifikats

Wählen Sie zum Erstellen eines selbstsignierten Zertifikats die Erstellungsmethode aus, und führen Sie die folgenden Schritte aus.

Tipp

Der allgemeine Name und der DNS-Name können auf einen beliebigen Wert festgelegt werden.

Hinweis

Private Schlüssel und Kennwörter für Zertifikate sind vertraulich. Verwenden Sie ein sicheres Kennwort, und speichern Sie die PFX-Datei sicher.

New-SelfSignedCertificate

New-SelfSignedCertificate -DnsName 'sts.contoso.com' -KeyLength 2048 -FriendlyName 'SharePoint STS Certificate' -CertStoreLocation 'cert:\LocalMachine\My' -KeySpec KeyExchange
$password = ConvertTo-SecureString "P@ssw0rd1!" -Force -AsPlainText
$cert = Get-ChildItem "cert:\localmachine\my" | ?{$_.Subject -eq "CN=sts.contoso.com"}
Export-PfxCertificate -Cert $cert -Password $password -FilePath C:\sts.pfx
Export-Certificate -Cert $cert -Type CERT -FilePath C:\sts.cer

In diesem Beispiel wird ein neues Zertifikat mit dem DNS-Namen "sts.contoso.com" und dem allgemeinen Namen "CN=sts.contoso.com" erstellt. Der allgemeine Name wird automatisch vom New-SelfSignedCertificate Cmdlet festgelegt. Mithilfe eines sicheren Kennworts exportieren wir dann das PFX-Zertifikat (sts.pfx) und das öffentliche Zertifikat (sts.cer).

Certreq

Erstellen Sie die neue Datei request.inf für das Zertifikat. Passen Sie den Betreff nach Bedarf aus dem folgenden Beispiel an.

[Version]
Signature="$Windows NT$

[NewRequest]
FriendlyName = "SharePoint STS Certificate"
Subject = "CN=sts.contoso.com"
KeyLength = 2048
KeyAlgorithm = RSA
KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE | CERT_DIGITAL_SIGNATURE_KEY_USAGE"
KeySpec = "AT_KEYEXCHANGE"
MachineKeySet = true
RequestType = Cert
ExportableEncrypted = true

[Strings]
szOID_ENHANCED_KEY_USAGE = "2.5.29.37"
szOID_PKIX_KP_SERVER_AUTH = "1.3.6.1.5.5.7.3.1"
szOID_PKIX_KP_CLIENT_AUTH = "1.3.6.1.5.5.7.3.2"

[Extensions]
%szOID_ENHANCED_KEY_USAGE%="{text}%szOID_PKIX_KP_SERVER_AUTH%,"
_continue_ = "%szOID_PKIX_KP_CLIENT_AUTH%"

Führen Sie an einer Eingabeaufforderung mit erhöhten Rechten Folgendes aus, um das Zertifikat im lokalen Computerspeicher zu erstellen und zu installieren. Wenn das Zertifikat installiert wurde, wird ein Dialogfeld zum Speichern angezeigt. Ändern Sie den Typ Speichern unter in , Certificate Files und speichern Sie die Datei als C:\sts.cer.

certreq -new request.inf
certutil -store My "sts.contoso.com"

Kopieren Sie die SerialNumber-Ausgabe des zweiten Befehls, und verwenden Sie sie im folgenden Befehl. Ersetzen Sie <SerialNumber> durch den tatsächlichen Wert.

certutil -exportPFX -p "P@ssw0rd1!" CA <SerialNumber> C:\sts.pfx

Im ersten Schritt wird das Zertifikat basierend auf der obigen Anforderung erstellt. Im zweiten Schritt können wir die Seriennummer unseres neuen Zertifikats ermitteln. Schließlich exportiert der letzte Schritt das Zertifikat in eine PFX-Datei, die durch ein Kennwort geschützt ist.

Ersetzen des STS-Zertifikats

Dieses Verfahren muss auf jedem Server in der Farm ausgeführt werden. Der erste Schritt besteht darin, die PFX in den Container Vertrauenswürdige Stammzertifizierungsstellen im Lokalen Computerspeicher zu importieren.

Import-PfxCertificate

Um eine PFX mit Import-PfxCertificatezu importieren, folgen Sie dem Beispiel.

$password = Get-Credential -UserName "certificate" -Message "Enter password"
Import-PfxCertificate -FilePath C:\sts.pfx -CertStoreLocation Cert:\LocalMachine\Root -Password $password.Password

In diesem Beispiel erstellen wir zunächst anmeldeinformationen. Der Benutzername wird in diesem Beispiel nicht verwendet, muss aber festgelegt werden. Das Kennwort ist der Wert des exportierten PFX-Kennworts. in unserem Beispiel "P@ssw0rd1!".

Certutil

certutil -f -p "P@ssw0rd1!" -importpfx Root C:\sts.pfx

In diesem Beispiel importieren wir die PFX-Datei mit certutilund geben das Kennwort an, das wir beim Exportieren der PFX und beim Importieren in den Container vertrauenswürdige Stammzertifizierungsstellen im Lokalen Computerspeicher verwendet haben.

Ersetzen des STS-Zertifikats in SharePoint

Nachdem die PFX auf allen SharePoint-Servern in der Farm importiert wurde, müssen wir das zertifikat ersetzen, das vom STS verwendet wird. Sie müssen ein SharePoint-Shelladministrator sein (ausführliche Informationen zum Hinzufügen eines SharePoint-Shelladministrators finden Sie unter Add-SPShellAdmin ), um diesen Vorgang ausführen zu können.

Mithilfe der SharePoint-Verwaltungsshell geben wir den Pfad zur PFX-Datei an, legen das Kennwort fest, legen den STS für die Verwendung des neuen Zertifikats fest, starten IIS neu und starten schließlich den SharePoint-Zeitgeberdienst (SPTimerV4) neu.

$path = 'C:\sts.pfx'
$pass = 'P@ssw0rd1!'
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($path, $pass, 20)
Set-SPSecurityTokenServiceConfig -ImportSigningCertificate $cert
iisreset
Restart-Service SPTimerV4

Führen Sie die vorherigen Schritte auf allen SharePoint-Servern in der Farm aus. Dadurch wird der StS-Zertifikatersetzungsprozess abgeschlossen. Wenn Sie eine Hybridfarm verwenden, finden Sie unter Verwenden einer Microsoft 365 SharePoint-Website zum Autorisieren von vom Anbieter gehosteten Add-Ins auf einer lokalen SharePoint-Website weitere Schritte, die zum Hochladen des STS-Zertifikats in Azure erforderlich sind.

Siehe auch

Hybridlösung für SharePoint Server

Certreq

Certutil