通过向 Access 数据库添加数字签名来显示信任

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

您可以通过向数据库添加数字签名来证明您相信数据库是安全的并且其内容是可信的。 通过数字签名,可以确认数据库中的所有宏、代码模块及其他可执行组件都源自该签署者,并且自数据库被签名以来没有人对它进行过更改。 这有助于使用数据库的人决定是否信任它及其内容。 可以将安全证书视为用于对事物进行数字签名的笔,或只有您可以应用的蜡封。 要添加数字签名,您可以使用商业安全证书,也可以创建自己的证书。 用于对数据库进行数字签名的过程取决于正在使用的数据库版本。

获取安全证书

安全证书分为两种类型:商业证书和自签名证书。

获得商业安全证书

如果要对数据库进行数字签名,然后以商业方式分发该数据库,则应从商业证书颁发机构 (CA) 获取商业安全证书。 这些证书颁发机构会进行背景调查,确保内容(如数据库)的创建者是值得信任的。 有关详细信息,请参阅 查找数字标识或数字签名服务。

创建自签名证书

如果要将数据库用于个人或有限工作组方案以供自己的组织使用,可以使用 Microsoft 365 附带的 SelfCert 工具创建数字证书。

重要

如果使用自己创建的数字证书对文档进行数字签名,然后共享该数字签名文件,则其他人无法在不手动决定信任你的自签名证书的情况下验证数字签名的真实性。

  1. 浏览到包含 Microsoft Office 程序文件的文件夹。
    你需要找到可执行文件 SelfCert.exe,位置可能会因各种条件(例如使用的是 32 位还是 64 位 Windows 操作系统,或者使用的是 Microsoft 365)而异。

    Office 版本 位置
    Microsoft 365 C:\Program Files\Microsoft Office\root\Office16
    C:\Program Files (x86)\Microsoft Office\root\Office16
    Office 2019
    Office 2016
    C:\Program Files\Microsoft Office\Office16
    C:\Program Files (x86) \Microsoft Office\Office16
  2. 找到正确的文件夹并双击 SelfCert.exe。
    将出现“创建数字证书”对话框。

  3. 在“您的证书名称”框中,键入新测试证书的名称。

  4. 单击两次“确定”。

对 Access 包进行数字签名以分发数据库

对数据库进行签名和分发既简单又快捷。 可以打包文件,对包应用数字签名,然后将已签名的包分发给其他用户。 “包并签名”功能将数据库置于 Access 部署 (.accdc) 文件中,对文件进行签名,然后将签名的包放置在您确定的位置。 随后,用户可以从该包中提取数据库,并直接在该数据库中工作,而不是在包文件中工作。 请注意,无论是否对数据库进行代码签名,您仍然可以使用打包功能生成 .accdc 文件。 有关详细信息,请参阅 部署 Access 应用程序。

对 Access 数据库进行数字签名

所有版本的 Access 都允许对 .mdb 和 .mde 数据库格式的组件应用数字签名。 从 Microsoft 365 专属 Access 版本 2211 开始,还支持 .accdb 和 .accde 数据库格式。

要对数据库进行代码签名,请执行下列操作:

  1. 打开要签名的数据库。
  2. 在 “数据库工具 ”选项卡的 “宏 ”组中,单击“ Visual Basic ”以启动 Visual Basic 编辑器,或按 Alt+F11。
  3. 在“项目资源管理器”窗口中,选择要签名的数据库或 Visual Basic for Applications (VBA) 项目。
  4. 在“工具”菜单上,单击“数字签名”。
    将出现“数字签名”对话框。
  5. 单击“选择”选择测试证书。
    将出现“选择证书”对话框。
  6. 选择要应用的证书。 有关详细信息,请参阅 获取安全证书。
    如果您是按照前一部分中的步骤操作的,请选择使用 SelfCert 创建的证书。
  7. 单击“ 确定” 关闭“ 选择证书” 对话框,再次单击“ 确定” 关闭“ 数字签名 ”对话框。

注意

  • 若要避免您的解决方案用户因无意中修改 VBA 项目而使签名无效,请先锁定 VBA 项目,然后再对其进行签名。 但是,锁定 VBA 项目不会阻止其他用户将数字签名替换为另一个签名。 企业管理员可能对模板和加载项重新签名,以便精确地控制哪些用户可以在相应的计算机上运行模板和加载项。
  • 如果您的应用程序修改数据库的方式会使签名无效,例如,通过创建新的操作查询,请避免对数据库进行数字签名。 请改为使用已签名的包 (.accdc) 进行分发,然后将其与 受信任位置的使用相结合。