セクティゴ EV認証で exeに署名する方法(visual studio編)

まずはコマンドライン版を作る

利用可能なキーコンテナを確認します

certutil -csp "SafeNet Smart Card Key Storage Provider" -key -user -v

Cert ハッシュ(sha1)をメモります。

signtool.exeを実行してみます。

signtool.exeの場所は環境に合わせて変えてください

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\signtool.exe" sign ^
  /fd sha256 ^
  /tr http://timestamp.sectigo.com ^
  /td sha256 ^
  /sha1 <メモったハッシュ> ^
  /v /debug /a ^
  "hogehoge.exe"

無事署名出来たらOK

Visual Sudioでビルド後のイベントに設定する

プロパティ>ビルド>イベントに”ビルド後のイベント”の欄があるので以下のように入力。

signtool.exeの場所は環境に合わせて変えてください

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\signtool.exe" sign ^
  /fd sha256 ^
  /tr http://timestamp.sectigo.com ^
  /td sha256 ^
  /sha1 <メモったハッシュ> ^
  /v /debug /a ^
  "$(TargetPath)"

MFCプロジェクトの場合例

echo Starting code signing for MFC application...
echo Target file: "$(OutDir)$(TargetName)$(TargetExt)"
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\signtool.exe" sign ^
/fd sha256 ^
/tr http://timestamp.sectigo.com ^
/td sha256 ^
/sha1 <メモったハッシュ> ^
/v /a ^
"$(OutDir)$(TargetName)$(TargetExt)"
if errorlevel 1 (
	echo Code signing failed with error level %errorlevel%
	exit /b %errorlevel%
)
echo Code signing completed successfully