Web/DB プログラミング徹底解説

ホーム > 雑記帳 > アクセスデータベースを電子署名して配布する方法

アクセスデータベースを電子署名して配布する方法

アクセスのファイルを安全に配布する方法に関する説明です。

開発者はアクセスファイルを配布するときには、アクセスのデータベースファイル (*.accdb) から電子署名済みのパッケージを作ります。 ユーザーに対して、この「電子署名済みのパッケージ」として配布します。

こうすることによって、このパッケージが配布途中で改ざんされておらず、 また信頼のおける第三者によって確かにあなたによって作られたことが示されます。

アクセスデータベースを利用するユーザーは、このパッケージからデータベースを取り出して利用します。

電子署名の準備

電子署名の準備

各証明書プロバイダーにて、コードサイニング証明書のサービスが提供されています。こうしたサービスを利用してコードサイニング用の証明書を取得します。

コードサイニングサービス料金 (2010年5月時点の参考)
VeriSign - Code Signing Certificate for Microsoft Office and VBA$499/年
COMODO - Instant SSL - Code Signing Certificate $166.95/年
Thawte - Code Signing $299/年
GoDaddy.com - Code Signing Certificate$199.99/年
GlobalSign - Code Signing $229/年

ある程度名の通ったところから証明書を取得しないと、 Windows に CA 証明書 (証明機関の証明書) が組み入れられていないので、証明書の正しさを確認するためには CA 証明書もインストールしてもらわないといけなくなります。 せっかく第三者機関から証明書を取得しても、そういう手間が増えるのでは困りますね。

自己署名証明書の準備

通常、コードサイニング用の証明書を取得するには上記のように費用が発生しますが、個人的な用途で利用するなら Office に付属する自己証明書を利用することもできます。 (広く配布するので無ければ、こうした証明書で十分なのですが、そもそも広く配布しないなら電子署名も不要ですよね)

  1. Microsoft Office Tools メニューの下の Digital Certificate for VBA Projects を選択します。

  2. 証明書の名前を入力して、OK をクリックします。

    直ちに証明書の作成が完了します。

もしこのメニューが見つからない場合は、Office のインストールパッケージから SelfCert.exe をインストールしてください。

電子署名の方法

  1. Office Button をクリックして、Publish から Package and Sign を選択します。

  2. 証明書を選択し OK をクリックします。

  3. Access Signed Package (*.accdc) 形式で保存します。

作成されたファイルのアイコンが変わり、次のように署名済みであることがわかります。

署名済みパッケージを利用する

  1. 署名済みパッケージを開きます。

    署名済みパッケージを開くと、次のようなワーニングが表示される場合があります。

    証明書の詳細を見ると次のように、発行元が信頼されていないということが問題であることがわかります。

    このデータベースを信頼する場合は Open をクリックします。

    また、この発行者を信頼する場合は、Trust all from publisher をクリックします。

    もし自己証明書である場合、Trust all from publisher をクリックすることによって、次回から自己証明書が信頼されることになります。 このような場合、上記の警告ダイアログは表示されません。

  2. Extract する名前を決め保存します。
ホーム > 雑記帳 > アクセスデータベースを電子署名して配布する方法