ActiveX を警告なしに実行する方法はたぶん次の通り。
- ActiveXにデジタル署名する
- 一般的な認証局で発行したデジタル署名を利用
- オレオレ認証局で発行したデジタル署名を利用
- ActiveXを登録時に安全マークをつける
"ActiveX に安全マーク をつけて 警告回避" では回避できないことがあるようだったので、 別の方法(レジストリに"事前承認済み"を書き込む方法)を調べてみた。
想定している環境は次の通り。ただ、実際は Internet Explorer 7 以上が対象になるみたい。
- Windows7 32bit or 64bit
- Internet Explorer 8, 9
上記環境において、ActiveX を "承認済み" とするためには、インストール時に次のようなレジストリ登録を行う。
32bit OS の場合
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Ext\PreApproved\{YOURGUID-0000-0000-0000-000000000000}
64bit OS の場合
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Ext\PreApproved\{YOURGUID-0000-0000-0000-000000000000}
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Ext\PreApproved\{YOURGUID-0000-0000-0000-000000000000}
※"YOURGUID-0000-0000-0000-000000000000"は任意に読み替えてください。
64bit の Windows に付属する Internet Explorer を何も考えずに起動すると、32bit IE が起動してしまう。
32bit で動作するアプリ は HKLM\SOFTWARE\Wow6432Node 以下を読みに行くので、32bit 用のレジストリを登録していないと何度やっても警告はでてしまう。
やられたー…と、思ったけど、64bit も 32bit も動かそうとしてくれたわけだから仕方ないとあきらめるか…
まだ、もう少し不十分な感じがいなめないけど…このあたりまでで。。
参考は以下のサイト
- ActiveX セキュリティ : 強化点とベスト プラクティス (Windows IETechCol)
- WOW64 の影響を受けるレジストリ キー
- 64bitOSで32bitアプリを動かすということ-リダイレクションに注意
最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!