Substituir o certificado STS para o SharePoint Server
APLICA-SE A:2013 2016 2019 Subscription Edition SharePoint no Microsoft 365
Este tópico fornece informações sobre a substituição do certificado do Serviço de Tokens de Segurança (STS) do SharePoint num farm do SharePoint.
Requisitos de Certificado
Compre um certificado a partir de uma Autoridade de Certificação fidedigna, crie um novo certificado a partir de uma infraestrutura PKI autoalojada (como os Serviços de Certificados do Active Directory) ou crie um certificado autoassinado (criado através certreq.exe
de ou New-SelfSignedCertificate
). O certificado tem de utilizar a encriptação de 2048 bits ou superior.
Para substituir o certificado STS, precisará do certificado público (CER) e público pelo certificado de chave privada (PFX) e o nome amigável do certificado.
O certificado deve ser substituído durante uma janela de manutenção, uma vez que o Serviço de Temporizador do SharePoint (SPTimerV4) tem de ser reiniciado.
Como certificados públicos e, por predefinição, os certificados privados expiram dentro de 1 a 3 anos, consoante o período de validade especificado, este procedimento deve ser seguido quando o certificado requer renovação.
Observação
O certificado STS predefinido não precisa de ser renovado. A renovação só se aplica após a substituição do certificado STS.
Criar um Certificado de Self-Signed
Para criar um certificado autoassinado, escolha o método de criação e siga estes passos.
Dica
O Nome Comum e o Nome DNS podem ser definidos como qualquer valor.
Observação
As chaves privadas do certificado e as palavras-passe são confidenciais. Utilize uma palavra-passe segura e armazene o ficheiro PFX de forma segura.
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
Este exemplo cria um novo certificado com o Nome DNS de "sts.contoso.com" e um Nome Comum de "CN=sts.contoso.com". O Nome Comum é definido automaticamente pelo New-SelfSignedCertificate
cmdlet . Com uma palavra-passe segura, exportamos o PFX (sts.pfx) e o certificado público (sts.cer).
Certreq
Crie um novo ficheiro, request.inf, para o certificado. Ajuste o Assunto conforme necessário no exemplo abaixo.
[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%"
A partir de uma Linha de Comandos elevada, execute o seguinte para criar e instalar o certificado no arquivo do computador local. Quando o certificado tiver sido instalado, será apresentada uma caixa de diálogo guardar. Altere Guardar com o tipo para Certificate Files
e guarde o ficheiro como C:\sts.cer
.
certreq -new request.inf
certutil -store My "sts.contoso.com"
copie a saída SerialNumber do segundo comando e utilize-a no seguinte comando. Substitua <SerialNumber> pelo valor real.
certutil -exportPFX -p "P@ssw0rd1!" CA <SerialNumber> C:\sts.pfx
O primeiro passo cria o certificado com base no pedido acima. O segundo passo permite-nos encontrar o Número de Série do nosso novo certificado. Por fim, o último passo exporta o certificado para um PFX protegido por uma palavra-passe.
Substituir o certificado STS
Este procedimento tem de ser efetuado em todos os servidores do farm. O primeiro passo é importar o PFX para o contentor autoridades de certificação de raiz fidedigna no arquivo do Computador Local.
Import-PfxCertificate
Para importar um PFX com Import-PfxCertificate
, siga o exemplo.
$password = Get-Credential -UserName "certificate" -Message "Enter password"
Import-PfxCertificate -FilePath C:\sts.pfx -CertStoreLocation Cert:\LocalMachine\Root -Password $password.Password
Neste exemplo, vamos criar primeiro uma credencial. O nome de utilizador não é utilizado neste exemplo, mas tem de ser definido. A palavra-passe será o valor da palavra-passe PFX exportada; no nosso exemplo, "P@ssw0rd1!".
Certutil
certutil -f -p "P@ssw0rd1!" -importpfx Root C:\sts.pfx
Neste exemplo, importamos o ficheiro PFX com certutil
, especificando a palavra-passe que utilizámos ao exportar o PFX e ao importar para o contentor Autoridades de Certificação de Raiz Fidedigna no arquivo do Computador Local.
Substituir o Certificado STS no SharePoint
Assim que o PFX tiver sido importado em todos os servidores do SharePoint no farm, temos de substituir o certificado que está a ser utilizado pelo STS. Tem de ser administrador da Shell do SharePoint (consulte Add-SPShellAdmin para obter detalhes sobre como adicionar um Administrador da Shell do SharePoint) para efetuar esta operação.
Com a Shell de Gestão do SharePoint, iremos especificar o caminho para o ficheiro PFX, definir a palavra-passe, definir o STS para utilizar o novo certificado, reiniciar o IIS e, por fim, reiniciar o Serviço de Temporizador do 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
Conclua os passos anteriores em todos os servidores do SharePoint no farm. Esta ação conclui o processo de substituição do certificado STS. Se estiver a utilizar um farm híbrido, consulte Utilizar um site do SharePoint do Microsoft 365 para autorizar suplementos alojados no fornecedor num site do SharePoint no local para obter passos adicionais necessários para carregar o certificado STS para o Azure.