Sostituire il certificato del servizio token di sicurezza per SharePoint Server
SI APPLICA A:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
In questo argomento vengono fornite informazioni sulla sostituzione del certificato del servizio token di sicurezza di SharePoint in una farm di SharePoint.
Requisiti relativi ai certificati
Acquistare un certificato da un'autorità di certificazione attendibile, creare un nuovo certificato da un'infrastruttura PKI self-hosted (ad esempio Servizi certificati Active Directory) o creare un certificato autofirma (creato tramite certreq.exe
o New-SelfSignedCertificate
). Il certificato deve usare la crittografia a 2048 bit o superiore.
Per sostituire il certificato del servizio token di sicurezza, sono necessari il certificato pubblico (CER) e pubblico con il certificato con chiave privata (PFX) e il nome descrittivo del certificato.
Il certificato deve essere sostituito durante una finestra di manutenzione perché il servizio Timer di SharePoint (SPTimerV4) deve essere riavviato.
Come certificati pubblici e per impostazione predefinita, i certificati privati scadono entro 1-3 anni a seconda del periodo di validità specificato, questa procedura deve essere seguita quando il certificato richiede il rinnovo.
Nota
Non è necessario rinnovare il certificato del servizio token di sicurezza predefinito. Il rinnovo si applica solo dopo la sostituzione del certificato del servizio token di sicurezza.
Creazione di un certificato Self-Signed
Per creare un certificato autofirma, scegliere il metodo di creazione e seguire questa procedura.
Consiglio
Il nome comune e il nome DNS possono essere impostati su qualsiasi valore.
Nota
Le chiavi private del certificato e le password sono sensibili. Usare una password complessa e archiviare in modo sicuro il file 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
In questo esempio viene creato un nuovo certificato con il nome DNS 'sts.contoso.com' e un nome comune 'CN=sts.contoso.com'. Il nome comune viene impostato automaticamente dal New-SelfSignedCertificate
cmdlet . Usando una password sicura, esportiamo quindi il certificato PFX (sts.pfx) e il certificato pubblico (sts.cer).
Certreq
Creare un nuovo file, request.inf, per il certificato. Modificare l'oggetto in base alle esigenze nell'esempio seguente.
[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%"
Da un prompt dei comandi con privilegi elevati eseguire quanto segue per creare e installare il certificato nell'archivio computer locale. Dopo aver installato il certificato, verrà visualizzata una finestra di dialogo di salvataggio. Modificare il tipo Salva con nome Certificate Files
in e salvare il file come C:\sts.cer
.
certreq -new request.inf
certutil -store My "sts.contoso.com"
copiare l'output SerialNumber dal secondo comando e usarlo nel comando seguente. Sostituire <SerialNumber> con il valore effettivo.
certutil -exportPFX -p "P@ssw0rd1!" CA <SerialNumber> C:\sts.pfx
Il primo passaggio crea il certificato in base alla richiesta precedente. Il secondo passaggio consente di trovare il numero di serie del nuovo certificato. Infine, l'ultimo passaggio esporta il certificato in un PFX protetto da una password.
Sostituzione del certificato del servizio token di sicurezza
Questa procedura deve essere eseguita in ogni server della farm. Il primo passaggio consiste nell'importare PFX nel contenitore Autorità di certificazione radice attendibili nell'archivio computer locale.
Import-PfxCertificate
Per importare un PFX usando Import-PfxCertificate
, seguire l'esempio.
$password = Get-Credential -UserName "certificate" -Message "Enter password"
Import-PfxCertificate -FilePath C:\sts.pfx -CertStoreLocation Cert:\LocalMachine\Root -Password $password.Password
In questo esempio viene prima creata una credenziale. Il nome utente non viene usato in questo esempio, ma deve essere impostato. La password sarà il valore della password PFX esportata; nell'esempio "P@ssw0rd1!".
Certutil
certutil -f -p "P@ssw0rd1!" -importpfx Root C:\sts.pfx
In questo esempio viene importato il file PFX usando certutil
, specificando la password usata durante l'esportazione di PFX e l'importazione nel contenitore Autorità di certificazione radice attendibili nell'archivio computer locale.
Sostituire il certificato stS in SharePoint
Dopo aver importato il file PFX in tutti i server SharePoint nella farm, è necessario sostituire il certificato in uso dal servizio token di sicurezza. Per eseguire questa operazione, è necessario essere un amministratore di SharePoint Shell (vedere Add-SPShellAdmin per informazioni dettagliate su come aggiungere un amministratore di SharePoint Shell).
Usando SharePoint Management Shell, si specificherà il percorso del file PFX, si imposterà la password, si imposterà il servizio token di sicurezza per l'uso del nuovo certificato, si riavvierà IIS e infine si riavvierà il servizio Timer di 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
Completare i passaggi precedenti in tutto il server SharePoint nella farm. In questo modo viene completato il processo di sostituzione del certificato del servizio token di sicurezza. Se si usa una farm ibrida, vedere Usare un sito di Microsoft 365 SharePoint per autorizzare i componenti aggiuntivi ospitati dal provider in un sito di SharePoint locale per altri passaggi necessari per caricare il certificato stS in Azure.