社内で開発したExcelのVBAマクロ付きのExcel2007マクロ有効ブック(XLSB)があります。このブックは社内でしか使いません。
このVBAには、デジタル署名として
ActiveDirectoryの証明書サーバで発行した個人コード署名を付けています。
このブックを他のPCのローカルフォルダ(信頼できる場所として未設定)で使おうとすると、セキュリティ警告が表示されます。(そのようにポリシーで設定しました)
表示されたセキュリティ警告のオプションを開くと、
マクロが無効にされました。これらのマクロには、ウイルスが含まれているか、その他セキュリティ上の危険性があります。
このファイルの発行元が信頼出来ない場合は、このコンテンツを有効にしないでください。
注意:デジタル署名は有効ですが、その発行元が信頼できる発行元として設定されていません。
と、表示され、
・不明なコンテンツから保護する(推奨)
・このコンテンツを有効にする
・この発行者のドキュメントをすべて信頼する
の3つのオプションが表示されます。この中から一番下の”この発行者のドキュメントをすべて信頼する”を選択すると
以後、私が作ったマクロはそのPCでは実行できます。
が、他のすべてのPCでも何とか自動的に”この発行者のドキュメントをすべて信頼する”を選択した状態にしたいと考えています。
グループポリシーを使って私のコード署名を配布してみました(セキュリティの設定・公開キーのポリシー・信頼されたユーザにインポート)が、
Excelではこのポリシーを見ていないのか、グループポリシーが配布された後もマクロのセキュリティ警告が表示されます。
確認のため MMC.exe を起動し、証明書スナップインを確認してみました。
信頼されたルート証明機関の証明書には、AD CSが表示されており、信頼されたユーザーの証明書にはグループポリシーで配布した私のコード署名が
表示されており、正しく配布されているようです。
このページの”デジタル署名を入手する方法 ”から、デジタル署名を無料で取得できるとも書いてあるのですが国内で無料のものは見当たりません。AD CSで発行したコード署名ではダメなのでしょうか。
コード署名を自動的に配布する何かいい方法ありませんでしょうか?