元ネタは下記のとおりです。
SharePoint 2013/2016/2019: How to replace expired WorkFlow Manager Certificates
そろそろSharePoint 2013以降で利用するように成った、Workflow ManagerのWebサービスで利用される証明書の有効期限切れ、、、
私のお客さんがWorkflow Managerの証明書切れになってしまいました。
5年間の有効期限の間には、お客さんの担当者変更などあり当然のごとく証明書切れは把握されていません。
慌てて連絡が来るのですよね。
上記の更新手順での証明書更新の検証結果を共有します。
- Workflow Managerが動いているサーバーのシステム日付を有効期限切れ前に変更する
システム時間を変更しても直ぐに元へ戻るので、Windows Timeサービスを停止します。
検証環境は、出来立てほやほやなので必要なかったですね。
実環境では、Hyper-VやらVMWareやらから時刻同期が動くのかもしれないですね。
検証してないけど、情報収集不要なら時間を戻さなくても動かないかな?
- Workflow Manager情報を収集します。
「SharePoint 20xx 管理シェル」を起動します。念のため管理権限で開きました。
有効期限切れのままだと、エラーが返ってきます。
下記のコマンドで情報収集します。「 | clip」を付けるとクリップボードに結果が返るので便利ですが日本語には弱いようです。
パスフレーズ等失われている場合が多いので下記の手順で変更してしまいます。
「PASSPHRASE」は必要に応じて変更してください。
$CertKey=convertto-securestring ‘PASSPHRASE!’ -asplaintext -force;
Set-WFCertificateAutoGenerationKey –Key $CertKey
Set-SBCertificateAutogenerationKey –Key $CertKey
Service Busを更新します。
証明書を再作するために、「Workflow Managerファームへの参加を解除する」
証明書を再作するために、「Workflow Managerファームへの参加を解除する」
Remove-WFHost -Verbose;
Remove-SBHost -Verbose;
Workflow manager ファームへの再参加を実施する
ここでWindows Timeサービスを起動して時間を元に戻します。
IISのWFサイトの証明書をエクスポートして、「個人」の「信頼されたルート証明機関」へインストール
エクスポートした証明書を「個人」の「信頼されたルート証明機関」へインストール
再登録します
Register-SPWorkflowService -SPSite http://<<sps url>> -WorkflowHostUri https://<<Workflow Manager URL>>:12290 -Force
$tj = Get-SPTimerJob RefreshMetadataFeed
$tj.RunNow()