可以通过向数据库添加 数字签名 来表明你认为数据库是安全的,并且其内容可以信任。 通过数字签名,可以确认数据库中的所有宏、代码模块及其他可执行组件都源自该签署者,并且自数据库被签名以来没有人对它进行过更改。 这有助于使用数据库的用户决定是否信任数据库及其内容。 将安全证书视为用于对内容进行数字签名的笔,或只有你才能应用的蜡封。 若要添加数字签名,可以使用商业安全证书,也可以创建自己的证书。 用于对数据库进行数字签名的过程取决于所使用的数据库版本。
有两种类型的安全证书:商业证书和自签名证书。
如果要对数据库进行数字签名,然后以商业方式分发该数据库,则应从商业证书颁发机构获取商业安全证书, (CA) 。 这些证书颁发机构会进行背景调查,确保内容(如数据库)的创建者是值得信任的。 有关详细信息,请参阅 查找数字 ID 或数字签名服务。
如果要将数据库用于个人或有限工作组方案,以便在自己的组织中使用,可以使用 Microsoft 365 附带的 SelfCert 工具创建数字证书。
重要: 如果使用你创建的数字证书对文档进行数字签名,然后共享数字签名的文件,则其他人无法在不手动决定信任你的自签名证书的情况下验证你的数字签名的真实性。
-
浏览到包含 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
Office 2013
C:\Program Files\Microsoft Office\root\Office15
C:\Program Files (x86) \Microsoft Office\root\Office15
Office 2010
C:\Program Files\Microsoft Office\root\Office14
C:\Program Files (x86) \Microsoft Office\root\Office14
-
找到正确的文件夹,然后双击 SelfCert.exe。
将出现“创建数字证书”对话框。
-
在“您的证书名称”框中,键入新测试证书的名称。
-
单击两次“确定”。
可以轻松快速地对数据库进行签名和分发。 可以打包文件,对包应用数字签名,然后将已签名的包分发给其他用户。 Package-and-Sign 功能将数据库置于 Access Deployment (.accdc) 文件中,对文件进行签名,然后将已签名的包放在确定的位置。 随后,用户可以从该包中提取数据库,并直接在该数据库中工作,而不是在包文件中工作。 请注意,你仍然可以使用打包功能来生成 .accdc 文件,不管你是否也对数据库进行代码签名。 有关详细信息,请参阅 部署 Access 应用程序。
所有版本的 Access 都允许以 .mdb 和 .mde 数据库格式将 数字签名 应用于组件。 从 Microsoft 365 专属 Access 版本 2211 开始,还支持 .accdb 和 .accde 数据库格式。
若要对数据库进行代码签名,请执行以下操作:
-
打开要签名的数据库。
-
在“ 数据库工具 ”选项卡上的“ 宏 ”组中,单击“ Visual Basic ”启动 Visual Basic 编辑器,或按 Alt+F11。
-
在“项目资源管理器”窗口中,选择要签名的数据库或 Visual Basic for Applications (VBA) 项目。
-
在“工具”菜单上,单击“数字签名”。
将出现“数字签名”对话框。
-
单击“选择”选择测试证书。
将出现“选择证书”对话框。
-
选择要应用的证书。 有关详细信息,请参阅 获取安全证书。
如果您是按照前一部分中的步骤操作的,请选择使用 SelfCert 创建的证书。
-
单击“ 确定 ”关闭“ 选择证书 ”对话框,再次单击“ 确定 ”以关闭“ 数字签名 ”对话框。
注意
-
若要避免您的解决方案用户因无意中修改 VBA 项目而使签名无效,请先锁定 VBA 项目,然后再对其进行签名。 但是,锁定 VBA 项目不会阻止其他用户将数字签名替换为另一个签名。 企业管理员可能对模板和加载项重新签名,以便精确地控制哪些用户可以在相应的计算机上运行模板和加载项。
-
如果应用程序修改数据库的方式会使签名失效(例如,通过创建新的操作查询),则避免对数据库进行数字签名。 请改为使用已签名的包 (.accdc) 进行分发,然后将其与受信任的位置结合使用。