自分で作ったマクロや、オープンソースのマクロなら、署名して保存できる。

デジタル証明書を使う

セキュリティに影響を及ぼす可能性のある問題点が検知されました。 警告: このコンテンツの発行元が信頼できるかどうかを確認することはできません。このコンテンツが重要な機能を備えており、発行元が信頼できる場合を除き、このコンテンツは無効のままにしてください。マクロが無効にされました。これらのマクロには、ウィルスが含まれているか、その他セキュリティ上の危険性がある可能性があります。このファイルの発行元が信頼できない場合は、このコンテンツを有効にしないでください。

頻繁に使うマクロ有効ブックをデジタル証明書で署名すれば、上のような邪魔なメッセージを毎回見ずに済む。

デジタル証明書を組み込む

  1. co-wares のように完全オープンソースのマクロなら、自分でブックを保存しなおすことができるため、自分や会社が持っているデジタル証明書で署名すれば、セキュリティ通知を回避できる。
  2. ここでは、後で作成する「私が証明です」という証明書を組み込む手順を示す。
  3. Visual Basic エディタのメニューから、ツール→デジタル署名 を選ぶ。
    ツール デジタル署名
  4. 証明書が選ばれていないので、既定の証明書がありませんと、上下に表示される。選択ボタンを押すと、証明書の選択画面が出る。
    デジタル署名 既定の証明書がありません
  5. 私が証明です を選び、 OK ボタンを押す。
    証明書の選択
  6. 私が証明です が上下に並んだのを確認し、 OK ボタンを押す。
    デジタル署名 私が証明です
  7. この状態で適当なマクロ有効ブックを作り保存すると署名付きになる。
  8. 保存したブックを開くと、いつもと違う警告メッセージが出る。
    Microsoft Office Excel のセキュリティに関する通知 発行元からのコンテンツを常に信頼する
  9. 発行元からのコンテンツを常に信頼するをクリックすると、マクロが有効になってブックが開く。
  10. 閉じて、再度ブックを開いたら、セキュリティ警告は出ず、マクロは勝手に有効になる。
  11. IE の設定(インターネットのプロパティ)から、信頼された発行元を確認できる。
    インターネットのプロパティ コンテンツ 証明書
  12. 信頼された発行元の中に「私が証明です」という証明書を確認できた。
    私が証明です 信頼された発行元
  13. セキュリティセンターの信頼できる発行元という欄でも確認できる。
    私が証明です 信頼できる発行元
  14. デジタル署名は、ブックごとに選択する。既定では署名無しになる。
    既定の証明書がありません
  15. なお、繰り返すのは、選択操作のみで、発行元の信頼は一度だけでよい。

デジタル証明書を手に入れる方法

  1. 販売されている証明書を買う。
  2. 会社など所属組織から配給される証明書を使う。
  3. 自己署名する。無料。

VBA プロジェクトのデジタル証明書 で自己署名する

  1. デジタル証明書を持っていなくても、自分のパソコンで使うだけなら、自己署名でよい。 VBA プロジェクトのデジタル証明書 という Microsoft Office ツール がインストールされていれば、それが使える。
    VBA プロジェクトのデジタル証明書
  2. VBA プロジェクトのデジタル証明書 を起動する。
    VBA プロジェクトのデジタル証明書 の説明
  3. 名前を決めて入れるだけだ。「私が証明です」という名前で作ってみよう。
    VBA プロジェクトのデジタル証明書 私が証明です
  4. 正常に証明書が作られると、次のメッセージが出る。
    SelfCert 成功
  5. 失敗する場合、証明書まわりの修復をしないと使えない。
    SelfCert エラー
  6. 成功した場合、証明書は IE の設定(インターネットのプロパティ)から確認できる。
    インターネットのプロパティ コンテンツ 証明書
  7. 個人の中に「私が証明です」という証明書を確認できた。目的はコード署名、期間は6年だ。
    私が証明です コード署名
  8. リストをダブルクリックするか、表示ボタンを押せば、証明書の中身を見ることができる。
    私が証明です この CA ルート証明書は信頼されていません。信頼を有効にするにはこの証明書を信頼されたルート証明機関のストアにインストールしてください。
  9. 説明にあるとおり、この証明書単体では信頼が得られない。この証明書を有効にするために、ルート証明機関でなく、信頼された発行元という設定を使う。
  10. このツールは、 OpenSSL などに比べ手軽に証明書を作れるものの、次の大きな欠点を持つ。
    1. パソコンとアカウントに縛られ、外に持ち出せない。他のパソコンはもちろん、同一パソコン内の別アカウントで使うこともできない。バックアップからのリストアでも、バックアップソフトの手法によっては使えなくなる。
    2. 自己署名したものを公開し、発行者として信頼してもらうという使い方ができない。
    3. IEに依存するため、IEのバージョンアップで発生したと思われるような不具合を被る。
    欠点を理解し、使い捨てのカードキーと割り切って使うならとても便利なものだ。

OpenSSL で自己署名する

  1. OpenSSL には、誰でも無料で使える、オープンソースのデジタル証明書作成ツールがある。
  2. 日本語訳サイトもある。
  3. Win32 OpenSSL Binary Distribution 全バージョンのウィンドウズ向けに、小さいパッケージも含めたバイナリ配布もある。
  4. OpenSSL CA 自己署名 とかで グーグルヤフー で検索すれば、詳細な手順を日本語で説明したページが出てくるだろう。
  5. できあがった証明書は IE の設定(インターネットのプロパティ)からインポートする。
    インターネットのプロパティ コンテンツ 証明書

自己署名の証明書は信頼できないのか?

  1. 通常のデジタル証明書と自己署名の証明書との違いは、セキュリティに対するポリシーだけ。ここでポリシーと呼んでいるのは、あなたの考え方を指す。
    • 値段が高い製品の方が信頼できる。
    • 大企業の製品なら少しぐらい高くてもよい。
    • よくわからなかったけど、評判がいいからきっと美味しいんだと思う。
    • 着ている服に自分で決めたコーデが1つも無い。
    • 公的なものに間違いはない。
    • 権威があるものには金を払う。
    • 長いものには巻かれろ。
    そんなあなたに自己署名は向かない。
  2. 外部証明機関で署名したデジタル証明書は有料で、決して安くない費用がかかる。
  3. そのコストは最終的には、ソフトの利用者が負担している。
  4. フリーソフトを使うなら、自己署名を味方にしよう。
  5. 自己署名が向かないタイプの人は、お金を払い、署名してもらえばいい。
    inserted by FC2 system