Remplacer le certificat STS pour SharePoint Server

S’APPLIQUE À :  yes-img-13 2013  yes-img-16 2016  yes-img-19 2019  yes-img-se Subscription Edition  no-img-sop SharePoint in Microsoft 365

Cette rubrique fournit des informations sur le remplacement du certificat du service d’SharePoint de sécurité (STS) dans une batterie SharePoint de serveurs.

Exigences en matière de certificats

Achetez un certificat auprès d’une autorité de certification de confiance, créez un certificat à partir d’une infrastructure PKI auto-hébergée (telle que les services de certificats Active Directory) ou créez un certificat auto-signé (créé via ou certreq.exe New-SelfSignedCertificate ). Le certificat doit utiliser le chiffrement 2048 bits ou une valeur supérieure.

Pour remplacer le certificat STS, vous aurez besoin du certificat public (CER) et du certificat public par un certificat de clé privée (PFX) et du nom convivial du certificat.

Le certificat doit être remplacé au cours d’une fenêtre de maintenance, car le service SharePoint timer service (SPTimerV4) doit être redémarré.

Comme les certificats publics et, par défaut, les certificats privés expirent dans un délai de 1 à 3 ans en fonction de la période de validité spécifiée, cette procédure doit être suivie lorsque le certificat requiert un renouvellement.

Notes

Le certificat STS par défaut n’a pas besoin d’être renouvelé. Le renouvellement s’applique uniquement après le remplacement du certificat STS.

Création d'Self-Signed certificat

Pour créer un certificat auto-signé, choisissez la méthode de création et suivez ces étapes.

Conseil

Le nom commun et le nom DNS peuvent être définies sur n’importe quelle valeur.

Notes

Les mots de passe et les clés privées de certificat sont sensibles. Utilisez un mot de passe fort et stockez en toute sécurité le fichier PFX.

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

Cet exemple crée un certificat avec le nom DNS « sts.contoso.com » et le nom commun « CN=sts.contoso.com ». Le nom commun est automatiquement définie par la New-SelfSignedCertificate cmdlet. À l’aide d’un mot de passe sécurisé, nous exportons ensuite le PFX (sts.pfx) et le certificat public (sts.cer).

Certreq

Créez un fichier, request.inf, pour le certificat. Ajustez l’objet selon les besoins à partir de l’exemple ci-dessous.

[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%"

À partir d’une invite de commandes avec élévation de niveau élevé, exécutez la commande suivante pour créer et installer le certificat dans le magasin d’ordinateurs local. Une fois le certificat installé, une boîte de dialogue d’enregistrement s’affiche. Modifiez le type Enregistrer en tant Certificate Files que et enregistrez le fichier sous C:\sts.cer .

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

copiez la sortie SerialNumber de la deuxième commande et utilisez-la dans la commande suivante. Remplacez <SerialNumber> par la valeur réelle.

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

La première étape crée le certificat en fonction de la demande ci-dessus. La deuxième étape nous permet de trouver le numéro de série de notre nouveau certificat. Enfin, la dernière étape exporte le certificat vers un PFX sécurisé par un mot de passe.

Remplacement du certificat STS

Cette procédure doit être effectuée sur chaque serveur de la batterie de serveurs. La première étape consiste à importer le PFX dans le conteneur Autorités de certification racines de confiance dans le magasin d’ordinateurs locaux.

Import-PfxCertificate

Pour importer un PFX à Import-PfxCertificate l’aide, suivez l’exemple.

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

Dans cet exemple, nous créons d’abord des informations d’identification. Le nom d’utilisateur n’est pas utilisé dans cet exemple, mais doit être définie. Le mot de passe sera la valeur du mot de passe PFX exporté . dans notre exemple, « P@ssw0rd1! ».

Certutil

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

Dans cet exemple, nous importons le fichier PFX à l’aide du mot de passe que nous avons utilisé lors de l’exportation du PFX et de l’importation dans le conteneur Autorités de certification racines de confiance dans le magasin certutil d’ordinateurs locaux.

Remplacer le certificat STS dans SharePoint

Une fois que le PFX a été importé sur tous les serveurs SharePoint de la batterie de serveurs, nous devons remplacer le certificat utilisé par le service STS. Vous devez être administrateur SharePoint Shell (voir Add-SPShellAdmin pour plus d’informations sur l’ajout d’un administrateur SharePoint Shell) pour effectuer cette opération.

À l’aide de l’SharePoint Management Shell, nous allons spécifier le chemin d’accès au fichier PFX, définir le mot de passe, définir le service STS pour utiliser le nouveau certificat, redémarrer IIS, puis redémarrer le service du SharePoint timer (SPTimerV4).

$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

Effectuer les étapes précédentes sur tous SharePoint serveur de la batterie de serveurs. Cette opération termine le processus de remplacement du certificat STS. Si vous utilisez une batterie de serveurs hybride, voir Utiliser un site Microsoft 365 SharePoint pour autoriser les compléments hébergés par un fournisseur sur un site SharePoint local pour les étapes supplémentaires requises pour télécharger le certificat STS vers Azure.

Voir aussi

Environnement hybride pour SharePoint Server

Export-PfxCertificate

Export-Certificate

Certreq

Certutil