Partager via


Remplacer le certificat STS pour SharePoint Server

S’APPLIQUE À :oui-img-132013 oui-img-162016 oui-img-192019 oui-img-seÉdition d’abonnement no-img-sopSharePoint 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-PfxCertificatede , 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 certutilde , 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.

Voir aussi

Environnement hybride pour SharePoint Server

Certreq

Certutil