Reemplazar el certificado STS para SharePoint Server
SE APLICA A:2013 2016 2019 Subscription Edition SharePoint en Microsoft 365
En este tema se proporciona información sobre cómo reemplazar el certificado de Servicio de token de seguridad (STS) de SharePoint en una granja de servidores de SharePoint.
Requisitos de certificado
Compre un certificado de una entidad de certificación de confianza, cree un nuevo certificado a partir de una infraestructura PKI autohospedada (como Servicios de certificados de Active Directory) o cree un certificado autofirmado (creado a través certreq.exe
de o New-SelfSignedCertificate
). El certificado debe usar el cifrado de 2048 bits o superior.
Para reemplazar el certificado STS, necesitará el certificado público (CER) y público por el certificado de clave privada (PFX) y el nombre descriptivo del certificado.
El certificado debe reemplazarse durante una ventana de mantenimiento, ya que se debe reiniciar el servicio de temporizador de SharePoint (SPTimerV4).
Como certificados públicos y de forma predeterminada, los certificados privados expiran en un plazo de 1 a 3 años en función del período de validez especificado, este procedimiento debe seguirse cuando el certificado requiera renovación.
Nota:
No es necesario renovar el certificado STS predeterminado. La renovación solo se aplica después de que se haya reemplazado el certificado STS.
Creación de un certificado de Self-Signed
Para crear un certificado autofirmado, elija el método de creación y siga estos pasos.
Sugerencia
El nombre común y el nombre DNS se pueden establecer en cualquier valor.
Nota:
Las claves privadas de certificado y las contraseñas son confidenciales. Use una contraseña segura y almacene de forma segura el archivo 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
En este ejemplo se crea un nuevo certificado con el nombre DNS de "sts.contoso.com" y un nombre común de "CN=sts.contoso.com". El cmdlet establece automáticamente el New-SelfSignedCertificate
nombre común. Con una contraseña segura, exportamos el certificado PFX (sts.pfx) y el certificado público (sts.cer).
Certreq
Cree un nuevo archivo, request.inf, para el certificado. Ajuste el asunto según sea necesario en el ejemplo siguiente.
[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%"
Desde un símbolo del sistema con privilegios elevados, ejecute lo siguiente para crear e instalar el certificado en el almacén de máquinas local. Cuando se haya instalado el certificado, aparecerá un cuadro de diálogo guardar. Cambie guardar como tipo a Certificate Files
y guarde el archivo como C:\sts.cer
.
certreq -new request.inf
certutil -store My "sts.contoso.com"
copie la salida SerialNumber del segundo comando y úsela en el siguiente comando. Reemplace <SerialNumber> por el valor real.
certutil -exportPFX -p "P@ssw0rd1!" CA <SerialNumber> C:\sts.pfx
El primer paso crea el certificado en función de la solicitud anterior. El segundo paso nos permite encontrar el número de serie de nuestro nuevo certificado. Por último, el último paso exporta el certificado a un PFX protegido por una contraseña.
Reemplazo del certificado STS
Este procedimiento debe realizarse en todos los servidores de la granja de servidores. El primer paso consiste en importar el PFX al contenedor Entidades de certificación raíz de confianza en el almacén de máquinas locales.
Import-PfxCertificate
Para importar un PFX mediante Import-PfxCertificate
, siga el ejemplo.
$password = Get-Credential -UserName "certificate" -Message "Enter password"
Import-PfxCertificate -FilePath C:\sts.pfx -CertStoreLocation Cert:\LocalMachine\Root -Password $password.Password
En este ejemplo, primero creamos una credencial. El nombre de usuario no se usa en este ejemplo, pero debe establecerse. La contraseña será el valor de la contraseña PFX exportada; en nuestro ejemplo, "P@ssw0rd1!".
Certutil
certutil -f -p "P@ssw0rd1!" -importpfx Root C:\sts.pfx
En este ejemplo, importamos el archivo PFX mediante certutil
, especificando la contraseña que usamos al exportar el PFX e importar en el contenedor Entidades de certificación raíz de confianza en el almacén de máquina local.
Reemplazar el certificado STS en SharePoint
Una vez que se ha importado el PFX en todos los servidores de SharePoint de la granja de servidores, debemos reemplazar el certificado que está en uso por el STS. Debe ser administrador de Shell de SharePoint (consulte Add-SPShellAdmin para obtener más información sobre cómo agregar un administrador de Shell de SharePoint) para realizar esta operación.
Con el Shell de administración de SharePoint, especificaremos la ruta de acceso al archivo PFX, estableceremos la contraseña, estableceremos el STS para usar el nuevo certificado, reiniciaremos IIS y, por último, reiniciaremos el servicio de temporizador de 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
Complete los pasos anteriores en todos los servidores de SharePoint de la granja de servidores. Esto completa el proceso de reemplazo del certificado STS. Si usa una granja híbrida, consulte Uso de un sitio de SharePoint de Microsoft 365 para autorizar complementos hospedados por el proveedor en un sitio de SharePoint local para conocer los pasos adicionales necesarios para cargar el certificado STS en Azure.