C# VB などのアプリにルートCAのデジタル署名を付ける signtoolによる署名

デジタル署名のためのメモ

VB.NET C# ほか

Verisignなどのルート証明機関からのデジタル署名を行う場合に関して、
Visual StudioにおけるNETアプリケーションによるIDE(統合環境)の開発では、
ClickOnceで発行する場合は、ソリューションエクスプローラで右クリックでプロパティを表示し、
署名タブで必要な手続きを行う。方法に関してはCFのとおり。

CF.
・ClickOnce マニフェストの署名
msdn.microsoft.com/ja-jp/library/zfz60ccf(v=VS.90).aspx
・方法 アプリケーション マニフェストおよび配置マニフェストに署名する
msdn.microsoft.com/ja-jp/library/che5h906(v=VS.90).aspx

しかしClickOnceを使用しないでWindows InstallarでMSI形式でセットアップパッケージを配布したい場合には、上述は無理。この場合は自分でビルド後のイベントを追加する必要がある。コマンドラインからsigntoolを使うことになる。

CF.
・方法 Signtool_exe をビルド後のイベントとして起動する (デバイス)
msdn.microsoft.com/ja-jp/library/ms180786(VS.80).aspx

コマンドラインの内容は下記のようになる。framework環境なので、若干、マクロを駆使しなければならない。

“$(FrameworkSDKDir)binsigntool” sign /f “” /p “” /t “http://timestamp.verisign.com/scripts/timestamp.dll” “$(TargetPath)”

ついでにコマンドラインオプションを説明すると、
-f ルートCAからのPFX
-p パスワード
-t タイムスタンプをつける場合タイムスタンプサーバーURLを記述

こんな感じ。

渡辺陽一さんがすごいおもしろい件

ナニゲニ テレビヲ ミテタラ 渡辺 陽一 サントイウ ヒトガ 出演シテタンダ。
ミジカイ ジカンノ アイマニ チャンネルヲ アチコチと マワシテ みたら コノ ヒトガ アチコチノ バラエティ バングミニ シュツエンシテ イル コトガ ワカッテ
アア イマドキノ ヒトナンダナアト ワカッッタノダケレド、
イワユル ゲイニンデハナクテ センジョウ カメラマント イウ イノチヲ カケタ オシゴトヲ サレテ イルソウデ、
トークハ センジョウデノ タイケンヤ、 ワカイ トキノ アリフレタ コトヲ イッテ イルンダ。
シリヤスナ コトヲ イッテ イルニモ カカワラズ ハナシカタガ オモシロクテ ヒサビサニ ハラヲ カカエテ ワラッテ シマッタヨ。

ソノ ナカデモ インショウニ ノコッタ ワダイガ アル。

センジョウノ ドマンナカデ アル カゾクト イッショニ セイカツヲ トモニ シテ イタ トキノ コト。
デンキモ ナイ ガスモ ナイ マックラナ ヘヤデ カゾクノ チチオヤガ
ジカハツデンキヲ ヨウイシテ ドラゴンボールヤ チビマルコチャンノ DVDを サイセイ シタ。
センジョウニ アリナガラ ニホンノ アニメガ センソウデ クルシンデ イル ヒトタチ クロウ シテ イル ヒトタチニ トッテ ココロノ ササエト ナリ、
カレラノ タノシミノ ヒトツニ ナッテ イルト イッタ ワダイダッタンダ。
ボクモ ドラゴン ボールデ カズ オオクノ コトヲ オソワッタケレド、
ニホンノ アニメガ セカイデ イロンナ キョウグウニ ある ヒトビトノ ココロノ ササエニ ナッテ イル コトガ、
ニホンジント シテ ホコリニ オモエタ ヒトコマダッタヨ。