Remplacer le certificat STS pour SharePoint Server
S’APPLIQUE À :2013 2016 2019 Édition d’abonnement SharePoint dans Microsoft 365
Cette rubrique fournit des informations sur le remplacement du certificat STS (Security Token Service) SharePoint dans une batterie de serveurs SharePoint.
Exigences en matière de certificats
Achetez un certificat auprès d’une autorité de certification approuvée, créez un certificat à partir d’une infrastructure PKI auto-hébergée (par exemple, Active Directory Certificate Services) ou créez un certificat auto-signé (créé via certreq.exe
ou New-SelfSignedCertificate
). Le certificat doit utiliser un chiffrement de 2 048 bits ou supérieur.
Pour remplacer le certificat STS, vous aurez besoin du certificat public (CER) et du certificat public avec le certificat de clé privée (PFX) et du nom convivial du certificat.
Le certificat doit être remplacé pendant une fenêtre de maintenance, car le service du minuteur SharePoint (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 nécessite 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’un certificat Self-Signed
Pour créer un certificat auto-signé, choisissez la méthode de création et procédez comme suit.
Conseil
Le nom commun et le nom DNS peuvent être définis sur n’importe quelle valeur.
Notes
Les clés privées de certificat et les mots de passe 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éfini par l’applet de New-SelfSignedCertificate
commande . À 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 en fonction des 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 privilèges, exécutez la commande suivante pour créer et installer le certificat dans le magasin de l’ordinateur local. Une fois le certificat installé, une boîte de dialogue d’enregistrement s’affiche. Remplacez le type Certificate Files
Enregistrer sous par et enregistrez le fichier en tant que 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 requête 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 ordinateur local.
Import-PfxCertificate
Pour importer un PFX à l’aide Import-PfxCertificate
de , 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éfini. Le mot de passe correspondra à 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 certutil
de , en spécifiant le mot de passe que nous avons utilisé lors de l’exportation du PFX et en l’important dans le conteneur Autorités de certification racines de confiance dans le magasin ordinateur local.
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 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 SharePoint Management Shell, nous allons spécifier le chemin du fichier PFX, définir le mot de passe, définir le sts pour utiliser le nouveau certificat, redémarrer IIS et enfin redémarrer le service de minuteur SharePoint (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
Effectuez les étapes précédentes sur tous les serveurs SharePoint de la batterie de serveurs. Cela termine le processus de remplacement du certificat STS. Si vous utilisez une batterie de serveurs hybrides, consultez Utiliser un site Microsoft 365 SharePoint pour autoriser les compléments hébergés par un fournisseur sur un site SharePoint local pour connaître les étapes supplémentaires requises pour charger le certificat STS sur Azure.