Поделиться через


Сброс ключа создания сертификата для SharePoint Workflow Manager

Ключ создания сертификата Workflow Manager SharePoint (SPWFM) аналогичен парольной фразе фермы SharePoint в том, что он необходим для присоединения к ферме SPWFM. При присоединении к существующей ферме SPWFM, например во время обновления или миграции, мастер настройки рабочего процесса запрашивает его.

Если вы не задокументируйте этот ключ при первой настройке фермы рабочих процессов и не знаете, что это такое, его следует сбросить перед выходом из фермы рабочих процессов.

Важно!

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

Сброс ключа

Для сброса ключа можно использовать следующий сценарий PowerShell, но его необходимо запустить на сервере SPWFM, все еще присоединенном к ферме рабочих процессов. Если в ферме рабочих процессов имеется несколько узлов или узлов, рекомендуется упростить процесс, выведя другие узлы из фермы с оставшимся только одним.

# Just provide the new certificate key here, for example P@ssWord1
# MAKE SURE YOU DOCUMENT THIS KEY SOMEWHERE SO YOU DON'T HAVE TO REPEAT THIS EXERCISE
$CertKey = convertto-securestring "[YourPassword]" -asplaintext -force

### You should NOT have to change anything below this line ###
# Set the key for WF
$WFdb = (get-wffarm).wffarmdbconnectionstring
Set-WFCertificateAutoGenerationKey  -WFFarmDBConnectionString $WFdb -key $CertKey -Verbose

# Force the Update on the WF side
Stop-WFHost
Update-WFHost -CertificateAutoGenerationKey $CertKey
"Starting Workflow Farm.  This could take a few minutes..."
Start-WFHost

# Set the key for SB
$SBdb = (get-sbfarm).SBFarmDBConnectionString 
Set-SBCertificateAutogenerationKey -SBFarmDBConnectionString $SBdb -key $CertKey  -Verbose

# Force the Update on the SB side
Stop-Sbfarm
Update-SBHost -CertificateAutoGenerationKey $CertKey
Write-host "Starting Service Bus Farm.  This could take a few minutes..."
Start-SBfarm

# Some steps you need to take on the SharePoint side
Write-host -ForegroundColor yellow "Exporting the new WF endpoint cert to the current directory.  You MUST install this cert on all SharePoint servers."
Write-host "$PWD\WFsslCert.cer"
Get-WFAutoGeneratedCA -CACertificateFileName WFsslCert.cer
Write-host -ForegroundColor yellow "AFTER you have installed $PWD\WFsslCert.cer on your SharePoint servers, you must also run the ""Refresh Trusted Security Token Services Metadata feed"" timer job on the SharePoint side to update the Workflow Outbound certificate."

Доверие новым сертификатам на стороне SharePoint

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

  1. Доверяйте новому сертификату конечной точки рабочего процесса на всех серверах SharePoint. Возможно, вы заметили, что приведенный выше сценарий PowerShell экспортировал этот сертификат в текущий каталог как "WFsslCert.cer". Это тот, которому должны доверять серверы SharePoint. Скопируйте его на каждый сервер SharePoint и установите в хранилище доверенных корневых центров сертификации. Подробные инструкции см. в статье Установка сертификатов Workflow Manager в SharePoint.

  2. Обновите SPTrustedSecurityTokenIssuer, запустив задание таймера RefreshMetadataFeed на любом сервере SharePoint. Это можно сделать с помощью powerShell:

    $tj = Get-SPTimerJob | ? {$_.name -match "RefreshMetadataFeed"} 
    Start-SPTimerJob $tj