CAB作成からデジタル署名を付けるまでの自動化
仕事用にまとめたやつだけど自分用にも投稿しちゃうよ!
デジタル署名をする際に「秘密のパスワードの入力」ダイアログを出さないための方法。
サイレントで行うためにpfxファイルを使用しないといけないのがミソらしい。
1)CABファイルの作成
例 cabarc.exe -m LZX:21 -s 6144 N \new.cab \fol\*.*
パラメータ&オプション -m LZX:21 圧縮形式の指定 -s 6144 デジタル署名に使用する領域を空けておくための指定 N new_cabfile.cab some_files new_cabfile.cabは新しく作成するCABファイル、some_filesはCABに圧縮するファイル(ワイルドカード指定ができる)
2)pfxファイルの作成
例 pvk2pfx.exe -pvk example.pvk -spc example.spc -pfx example.pfx -pi password1 -po password2 -f
パラメータ&オプション -pvk pvkfilename.pvk pfxファイルの作成に使用するpvkファイルを指定 -spc spcfilename.ext Software Publisher Certificate (SPC)ファイルの指定 拡張子は「.spc」または「.cer」 -pfx pfxfilename.pfx 新しく作成するpfxファイルを指定 -pi pvkpassword pvkファイルのパスワードを指定 -po pfxpassword pfxファイルに設定するパスワードを指定(pvkのパスワードと同じはセキュリティ的に良くない) -f 既に同名のpfxファイルがある場合に上書きをするためのフラグ(基本的に指定しとけばOK)
3)pfxファイルを用いてcabファイルにデジタル署名
例 signtool.exe sign /f example.pfx /p password2 /v new_cabfile.cab /t http://timestamp.verisign.com/scripts/timstamp.dll
パラメータ&オプション sign sign コマンド /f example.pfx 署名に使用するpfxファイルを指定 /p password2 /f で指定したpfxファイルのパスワード /v 成功した実行、失敗した実行、および警告メッセージの詳細出力。 new_cabfile.cab デジタル署名をするCABファイル /t タイムスタンプ(通常は例のアドレスを指定していればOK)