UiPath Orchestratorでは、HTTPS通信のための証明書を必要とします。
テスト中などは自己署名証明書(いわゆるオレオレ証明書)とし、本番運用までに公的認証局から認証された証明書に差し替える、というようなことをするかと思います。
証明書の差し替え手順というのがマニュアルからうまく見つけらずハマってしまい、さらにはOrchestrator停止という事態を発生させてしまったので、証明書の更新方法をまとめておこうと思います。
2022/09/28 追記
UiPath公式のナレッジベースに、以下の記事が公開されていました。
Orchestrator サーバー証明書入れ替え手順
やらかした手順
IISの証明書を更新する
証明書の発行手順は省略します。
IISのサーバー証明書に、差し替えたい証明書がある状態にして・・・
サイトの「バインドの編集」で、差し替えたい証明書に変えます。
動作確認してみる
IISを再起動したあと、Orchestratorのサイトにアクセスし、証明書が変わったかを確認します。
拇印を見ると「f3~」となっているので、ここでの「本番用UiPath証明書」に変わっていることが確認できます。
後始末する
古いオレオレ証明書は必要なくなったので、削除しようと思います。
障害発生
では、IISを再起動して、Orchestratorログイン画面を表示して、、、
障害の原因
イベントログ(アプリケーションログ)を見ると、以下のようなログが出力されていました。
certificate: '9dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' not found in certificate store
この9d~
の証明書は、差し替え前の証明書の拇印です。
UiPath Orchestratorのどこかに、証明書の設定が残っているようです。
古い証明書を削除してしまったため、「そんな証明書ないよ!」ということで起動できなくなってしまったようです。
回復手順
UiPath Orchestratorは、認証まわりがIdentityServerで行われているらしく、その設定に証明書の拇印が記載されていました。
"AppSettings": {
"IdentityServerAddress": "https://~~~~~~~~~~/identity",
"SigningCredentialSettings": {
"StoreLocation": {
"Name": "9Dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"Location": "LocalMachine",
"NameType": "Thumbprint"
}
},
上記のファイルは、デフォルトだと以下のフォルダにあります。
C:\Program Files (x86)\UiPath\Orchestrator\Identity
設定ファイルの書き換え
上記ファイルの拇印を、差し替え後の証明書の拇印に書き換えます。
※注意:ProgramFiles配下のファイルを書き換える場合は、OSの管理者権限が必要です。
証明書権限の変更
設定ファイルを書き換えたあとにIISを再起動すると、今度は以下のようなメッセージがイベントログに出力されました。
WindowsCryptographicException*キーセットがありません。*
証明書に権限を追加してあげる必要があるようで、以下の公式マニュアルを参考にPowerShellから権限を追加します。
再起動して動作確認
この状態でIISを再起動すればOKでした!
おわりに
手探りで見つけた回復方法のため、公式な手順ではないかもしれません。
全ての環境で上記の手順で実施可能かどうかはわからないので、自己責任でお願いします。
なお、正しい手順としては、IISを再起動する前に上記の回復手順を実施すれば大丈夫かと思います。
マニュアル上には「HTTPS証明書の更新手順」としては存在しないのでしょうか・・・
もしご存じの方がいらっしゃいましたら、ご教示いただければと思います。
ちなみに、フォーラムでは同様の事象が発生した方もいて、回復方法が載っていましたが、私とはちょっと違いますね。
こちらで紹介されているのは、Platform Configuration Tool
というものをダウンロードして実行するようです。