プロジェクトをビルドした際、発生する証明書エラーの解消方法
Visual Studioでビルドしたとき、「ビルドエラーが発生しました。続行して、最後に成功したビルドを実行しますか?」が発生。次のキー ファイルをインポートできません:。キー ファイルはパスワードで保護されている可能性があります。この状況を解決するには、証明書をもう一度インポートするか、現在のユーザーの個人証明書ストアに証明書を手動でインポートしてください。
現在のユーザーの Windows 証明書ストアにコード署名証明書が見つかりません。これを修正するには、ClickOnce マニフェストの署名を無効にするか、証明書ストアに証明書をインストールしてください。というエラーメッセージが出力されビルドができなかった。
キー ファイル “*****.pfx” のインポートが取り消されました。
環境・状況
- OS:Windows10 Pro、Windows8.1
- 開発環境:Visual Studio 2017,2015
GitやSVNからソースをチェックアウトし、初めてビルドしたときに発生。
原因と解消方法
「ClickOnecマニフェストに署名する」にチェックが付いている場合、Click Onceでアプリケーションを配布する際の証明書が必要であるため、その証明書関連でエラーが発生した。
キー ファイルがパスワードで保護されている。
今回のエラーは、証明書にパスワードが付いていたため発生しました。GitやSVNからチェックアウトして初めてビルドする場合に発生する場合があるみたいだ。
以下の方法で解消した。
メニューのデバック>プロパティをクリックする。署名を選択し、「ファイルから選択(I)…」(❶)をクリックする。
すでに発行済みの証明書ファイルを選択する(*.pfx)
パスワードを入力。※わからない場合はシステム管理者に聞く。
署名書欄になしから証明書情報が表示される。
ビルドを実行
テスト証明書の有効期限が切れている場合。
テスト証明書の使用期限が切れている場合は、証明書のエラーが発生しビルドでエラートなる。その場合は、新規でテスト証明書を作成することで回避することができる。
「テスト証明書の作成」をクリック
パスワードを入力。署名アルゴリズムはデフォルトのまま。
ビルドを実行。
強制的な回避策
開発時はソース修正し、ローカルでビルドとして実行できればよいケースもあるので、その様なときは「ClickOnecマニフェストに署名する」チェックをオフにして強制的に回避する方法もある。ただし、配布モジュールを生成する場合は、注意が必要である。