32bitアプリに自己証明インストールして警告メッセージを変える実験

管理者権限で Windows Vista のUACが有効になってる状態でアプリを実行すると…
mf
こんな風になりますよね・ω・

これを自己証明書でダイアログを変更する実験をしてみます


証明書の作成

makecert
-a sha1 -r -pe -ss MofMofCertStore -n "CN=Pink Flying Whale
Root.,O=Pink Flying Whale,C=JP,E=メアド" pfwroot.cer -b
06/25/2014 -e 06/25/2054 -sv pfwroot.pvk -sr LocalMachine

パスワードを聞かれるので、作成します。
3回とも同じものを入れます。

"D:\Microsoft Platform SDK for Windows Server 2003 R2\Bin\Cert2Spc" PfwRoot.cer PfwRoot.spc
"D:\Microsoft
Platform SDK for Windows Server 2003 R2\Bin\pvk2pfx.exe" -pvk
PfwRoot.pvk -spc PfwRoot.spc -po さっき決めたパスワード -pfx PFWRoot.pfx -f

次に実行ファイルに証明するためのファイルを作ります。
Windows SDKにある cert2pscというのと pvk2pfxを使います

SignTool
sign /v  /f PFWRoot.pfx /p MofMof /t
http://timestamp.verisign.com/scripts/timestamp.dll
"E:\PFW\MofBrw\Release\mofbrw.exe"

これで証明書を書き込めました

mf2

certmgr.exe -add pfwroot.cer -s -r localMachine root
certmgr.exe -add pfwroot.cer -s -r localMachine trustedpublisher

次に証明書を登録します

mf3
登録できましたね。

では実行してみます。

mf4
ダイアログ変わりました。

この方法、64bitだとできないですけどね・ω・

おすすめ

2件のフィードバック

  1. ugambow より:

    この方法か類似方法で未署名64bitドライバに署名する方法があったりするのですが、うまく行かず結局署名無効化設定で起動という・・・・
    あと、メーカードライバとかでも署名に問題があるのか導入後にダイアログとかで署名確認できていないだかのメッセージが出て署名無効化をしないといけなかったり。(低性能ノート向け動画再生支援カードのbroadcom BCM70015 のドライバとか)

  2. ugambow より:

    この方法か類似方法で未署名64bitドライバに署名する方法があったりするのですが、うまく行かず結局署名無効化設定で起動という・・・・
    あと、メーカードライバとかでも署名に問題があるのか導入後にダイアログとかで署名確認できていないだかのメッセージが出て署名無効化をしないといけなかったり。(低性能ノート向け動画再生支援カードのbroadcom BCM70015 のドライバとか)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です