Ersetzen des STS-Zertifikats für SharePoint Server
GILT FÜR:2013 2016 2019 Subscription Edition SharePoint 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-PfxCertificate
zu 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 certutil
und 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.