Замена сертификата STS для SharePoint Server

ОБЛАСТЬ ПРИМЕНЕНИЯ:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint в Microsoft 365

В этом разделе содержатся сведения о замене сертификата службы маркеров безопасности SharePoint (STS) в ферме SharePoint.

Требования к Сертификатам

Приобретите сертификат в доверенном центре сертификации, создайте новый сертификат из локальной инфраструктуры PKI (например, службы сертификатов Active Directory) или создайте самозаверяющий сертификат (созданный с помощью certreq.exe или New-SelfSignedCertificate). Сертификат должен использовать 2048-разрядное шифрование или более поздней версии.

Чтобы заменить сертификат STS, потребуется открытый сертификат (CER) и открытый с сертификатом закрытого ключа (PFX) и понятное имя сертификата.

Сертификат следует заменить во время периода обслуживания, так как служба таймера SharePoint (SPTimerV4) должна быть перезапущена.

В качестве общедоступных сертификатов и по умолчанию срок действия частных сертификатов истекает в течение 1–3 лет в зависимости от указанного срока действия, эта процедура должна выполняться, когда сертификат требует продления.

Примечание.

Сертификат службы безопасности по умолчанию обновлять не требуется. Продление применяется только после замены сертификата STS.

Создание сертификата Self-Signed

Чтобы создать самозаверяющий сертификат, выберите метод создания и выполните следующие действия.

Совет

Для общих имен и DNS-имени можно задать любое значение.

Примечание.

Закрытые ключи и пароли сертификатов являются конфиденциальными. Используйте надежный пароль и безопасно сохраните 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

В этом примере создается новый сертификат с DNS-именем sts.contoso.com и общим именем CN=sts.contoso.com. Общее имя автоматически задается командлетом New-SelfSignedCertificate . Используя безопасный пароль, мы экспортируем PFX (sts.pfx) и общедоступный сертификат (sts.cer).

Certreq

Создайте файл request.inf для сертификата. Измените тему по мере необходимости из приведенного ниже примера.

[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%"

В командной строке с повышенными привилегиями выполните следующую команду, чтобы создать и установить сертификат в локальном хранилище компьютера. После установки сертификата появится диалоговое окно сохранения. Измените тип Certificate Files файла на и сохраните файл как C:\sts.cer.

certreq -new request.inf
certutil -store My "sts.contoso.com"

Скопируйте выходные данные SerialNumber из второй команды и используйте их в следующей команде. Замените <SerialNumber> фактическим значением.

certutil -exportPFX -p "P@ssw0rd1!" CA <SerialNumber> C:\sts.pfx

На первом шаге создается сертификат на основе приведенного выше запроса. Второй шаг позволяет найти серийный номер нового сертификата. Наконец, последний шаг экспортирует сертификат в PFX, защищенный паролем.

Замена сертификата STS

Эта процедура должна выполняться на каждом сервере фермы. Первым шагом является импорт PFX в контейнер доверенных корневых центров сертификации в хранилище локального компьютера.

Import-PfxCertificate

Чтобы импортировать PFX с помощью Import-PfxCertificate, следуйте примеру.

$password = Get-Credential -UserName "certificate" -Message "Enter password"
Import-PfxCertificate -FilePath C:\sts.pfx -CertStoreLocation Cert:\LocalMachine\Root -Password $password.Password

В этом примере мы сначала создадим учетные данные. Имя пользователя не используется в этом примере, но его необходимо задать. Пароль будет значением экспортированного пароля PFX; в нашем примере "P@ssw0rd1!".

Certutil

certutil -f -p "P@ssw0rd1!" -importpfx Root C:\sts.pfx

В этом примере мы импортируем PFX-файл с помощью certutil, указав пароль, который мы использовали при экспорте PFX-файла и импорте в контейнер доверенных корневых центров сертификации в хранилище локального компьютера.

Замена сертификата STS в SharePoint

После импорта PFX на всех серверах SharePoint в ферме необходимо заменить сертификат, используемый службой stS. Для выполнения этой операции необходимо быть администратором оболочки SharePoint (дополнительные сведения о добавлении администратора оболочки SharePoint см. в разделе Add-SPShellAdmin ).

С помощью командной консоли SharePoint мы укажем путь к PFX-файлу, зададим пароль, зададим stS для использования нового сертификата, перезапустим СЛУЖБЫ IIS и, наконец, перезапустим службу таймера 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

Выполните предыдущие шаги на всех серверах SharePoint в ферме. На этом завершается процесс замены сертификата STS. Если вы используете гибридную ферму, дополнительные действия, необходимые для отправки сертификата STS в Azure, см. в статье Использование сайта Microsoft 365 SharePoint для авторизации надстроек, размещенных у поставщика на локальном сайте SharePoint .

См. также

Гибридная конфигурация SharePoint Server

Certreq

Certutil