2013年11月13日水曜日

ClickOnceで必要となるデジタル証明書の有効期限を伸ばす

既定では、VisualStuduiの発行で利用される証明書の期限は1年のため
運用を続けていくとある日いきなり有効期限切れが発生するようなケースがあります。

有効期限が切れると、プログラムの再発行ができなくなってしまいますので
以下方法により、有効期限を伸ばします。

※私の環境では運用アプリケーションには影響がありませんでした。


※2016年9月15日に記事を更新しました

やりかた

  1. atmarkitから証明書更新のソースを取得
  2. プログラムを作成
  3. プログラムに引数を指定して実行
RenewCert.Exe 旧pfxのフルパス、新pdxのフルパス "CN=署名の情報をそのまま"

これで、5年に伸ばせました。
※リンクにある元ソース上で"5"と決め打ちしている所を可変にすれば、指定した年数で
 有効期限を更新することも可能となりそうです。

作成した証明書の確認方法

※利用しているブラウザおよびバージョンにより、下記方法ではNGかもしれません
  1. PFXファイルをダブルクリックしてインストール開始
  2. 【次へ】【次へ】で【完了】まで持っていく
  3. 「インストールしていいか?」と聞かれるので「OK」
  4. ブラウザを開き、「インターネットオプション」から「コンテンツ」タブを選択し、「証明書」ボタン
  5. 出てくるウインドウの中で、「個人」の所に、作成した証明書が出てくるので確認

証明書を作成した後

  1. VisualStudio管理配下のPFXファイルを上書き
  2. 証明書の設定画面で、再度同じファイルを選択

これで、運用中のアプリケーションに対する署名情報を変更せずに
有効期限のみを更新できます。



※2016年9月15日追記

自分で再度必要となったため、本記事をもとに再度プログラムを作成しました。
githubよりダウンロードできます。
https://github.com/knkryo/microsoftnet/tree/master/app/RenreCertCpp

バイナリも置いてあります。(win32環境で実行・テスト済)


参考リンク



0 件のコメント: