MRが楽しい

MRやVRについて学習したことを書き残す

UnityでUWPビルド実行時に証明書の有効期限切れ(Certificate is expired)エラーが発生した場合の対処

本日は Unity のエラー対処枠です。
UnityでUWPビルド実行時に証明書の有効期限切れ(Certificate is expired)エラーが発生した場合の対処を記事にします

証明書の有効期限切れエラー

古い Unity プロジェクトを UWP ビルドする際、以下のような証明書の有効期限切れエラーが発生することがあります。

InvalidOperationException: Certificate Assets\WSATestCertificate.pfx is expired and cannot be used for a UWP build. To fix this, either delete it or select a different certificate in the player settings.

f:id:bluebirdofoz:20211107235540j:plain

これはプロジェクト作成時に作成されるデフォルトのテスト用証明書は有効期限が1年のためです。
1年以上前に作成した Unity プロジェクトで証明書を差し替えていない場合、本エラーが発生します。

証明書を更新する

対処方法としては証明書を有効なものに差し替えるか、新たにテスト用の証明書を再作成する方法があります。
今回はテスト用の証明書を再作成してみます。

テスト用証明書の作成

メニューから[Edit -> ProjectSettings..]を開き、[Player]タブの[PublishingSetting]パネルを開きます。
[Certificate]項目を確認すると、[Expiration date]の過ぎた証明書が設定されています。
f:id:bluebirdofoz:20211107235552j:plain

[Create...]ボタンをクリックして証明書を作成します。
f:id:bluebirdofoz:20211107235603j:plain

[Publisher]に発行者名を、[password]と[Confirm password]に適当なパスワードを入力して[Create]ボタンをクリックします。
f:id:bluebirdofoz:20211107235615j:plain

これで新たなテスト用証明書が発行できました。
有効期限は再び1年後に設定されています。
f:id:bluebirdofoz:20211107235625j:plain

ビルドの実行

この状態で改めて UWP ビルドを行うと、正常にビルドが完了します。
f:id:bluebirdofoz:20211107235634j:plain