ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > 操作与技巧 > 如何制作宏签名以增强安全性

如何制作宏签名以增强安全性

作者:绿色风 分类: 时间:2022-08-17 浏览:208
楼主
omnw
如何制作宏签名以增强安全性


   一、添加宏签名的目的
    通过为自己的宏添加签名可以减少安全警告的数量,同时仍能维持较高的安全级别。这样在打开包括宏的文件档时,可以在不调低宏安全性的情况下顺利启用宏!避免出现安全警告!
    阻止宏是针对恶意代码和病毒的主要防护措施。但是如果您使用未经签名的宏,则每次打开包含宏的文件时都会出现安全警告消息,并且每次要使用该宏时,您都必须选择启用它。
 

    解决方案是为您自己的宏签名。这称为自签名。随后,您能够运行自己的宏,并且出现的警告大大减少。一旦完成所有设置,就可以很轻松地为每个新宏签名。

   二、基本概念:

    还知道证书、签名和发行商的具体定义吗?
    数字证书是指用于创建数字签名和证明真实性的电子身份证。
    数字签名是宏上的电子安全图章,它以加密机制为基础。签名用于确认这样一个事实,即,宏来自签名者且未经更改。
    可靠发行商是指您选择信任、并已将其证书详细信息添加到可靠发行商存储区中的证书颁发机构。可能包括您自己。
    经过身份验证的证书是指由证书颁发机构颁发的证书。根据定义,自签名证书不是经过身份验证的证书。
    为避免出现安全警告和自动启用宏,您需要将用于为这些宏签名的证书添加到受信任的发行者列表。
    但是,如果任何人都可以安装自签名证书,如何知道哪一个证书才是可信的呢?假如有人冒用您的姓名创建了自签名证书怎么办?怎样才能避免这种情况呢?答案是,您需要对证书进行验证。
    在您创建数字证书后,您所使用的计算机即包含有关该证书的一些信息,因而可以对该证书进行验证。
    每个数字证书都基于一种使用密钥的加密机制,密钥包括公钥私钥。私钥在为宏签名时使用;公钥则附加到宏上,用于对签名进行验证。由于只有宏的编写者能够访问私钥,如果签名通过了公钥的验证,则表示签名是由宏的编写者创建的。这适用于所有证书,而不只是自签名证书。
    如果您在计算机上使用带公钥的宏,而该计算机上存在匹配私钥,则公钥可识别,并且该宏不会被自动禁用。
    如何获得您自己的证书呢?这需要用到一种叫做“VBA 项目的数字证书”的工具,更多时候,它被称为 SelfCert.exe文件。它附带于 Office,根据 Office 安装,您的计算机可能已安装该工具。否则,您可能需要从安装 Office 程序的相同 CD 或网络驱动器来安装该工具。
    请记住,自签名证书只对您自己有用。由于该证书未经证书颁发机构批准,它不属于 经过身份验证的数字证书。如果有人试图打开用此证书签名的宏,将收到安全警告。
    怎样理解信任您自己这句话呢?既然您很清楚自己决不会在宏中加入病毒,为什么不能信任自己呢?
    问题在于,为增强安全性,要永久启用宏,Office 安全流程要求您在决定信任任何证书发行者之前慎重考虑,无论发行者是谁。这种流程对所有宏都有同样的要求,不会区分宏是自签名的,还是经过身份验证的。因此,您必须选择信任您自己。

   三、创建自签名的证书

    1.您需要为证书输入一个名称,因此现在请考虑好要使用什么名称。选择的名称应适合以后为任何宏添加签名。例如,您可以使用自己的姓名。
    2.在 Windows 任务栏上,单击“开始”,依次指向“所有程序”、“Microsoft Office”、“Microsoft Office 工具”,然后单击“VBA 项目的数字证书”
    3.在“创建数字证书”对话框的“您的证书名称”框中,键入一个唯一的名称,然后单击“确定”。
 

    4.您将看到一条成功消息。单击确定
 
    至此,您已经创建了自己私有的自签名数字证书。

    注意:可以创建多个证书。如果您希望为不同的目的而使用多个证书,则可以执行此操作。例如,您可以将一个证书用于个人文件,而将另一个证书用于工作文件。

   四、对宏签名的步骤:

    1.在工具菜单上,单击数字签名
    2.在数字签名对话框中单击选择
    3.在选择证书对话框中,选择要用于为宏添加签名的证书。
 

    打开宏,在 Visual Basic 编辑器单击“工具”菜单上的“数字签名”,然后单击“选择”按钮。如果您的计算机上安装了多个数字证书,则将列出所有证书。选择合适的证书并单击“确定”,然后保存新签名的宏。“为文件中的一个宏签名”这种说法有些不恰当,因为您实际上同时在为文件中的所有宏添加签名。
    自签名证书与经过身份验证的证书的共同之处在于:如果没有私钥的人更改了已签名宏中的代码,则该宏将立即失去签名。
如何制作宏签名以增强安全性.rar
2楼
apolloh
好文章!3日没有会员提出异议,移入【e问精选】版块,并加为精华。
3楼
omnw
                                            安装“VBA项目的数字证书”功能操作流程
      WindowsXP系统:
      1.在任务栏上,单击“开始”,然后单击“控制面板”。
      2.单击“添加或删除程序”。如果您使用分类视图查看控制面板,则需要再次单击“添加或删除程序”。
      3.确保选中了左侧的“更改或删除程序”,然后向下滚动页面,单击“MicrosoftOfficeEnterprise2007”(或安装的Office或MicrosoftOfficeExcel®2007的任何版本)。单击“更改”按钮。
      您可能需要稍等片刻,安装程序才会执行操作。
      4.在“MicrosoftOfficeEnterprise2007”对话框中(对话框的名称取决于MicrosoftOffice或Excel的版本),确保选择了“添加或删除功能”;然后单击“继续”。
      5.单击“Office共享功能”旁边的加号(+)展开列表,单击“VBA项目的数字证书”旁边的箭头,然后单击“从本机运行”。
      6.单击“继续”。安装完成后,单击“关闭”。关闭“添加或删除程序”和“控制面板”。
      至此,您已安装了SelfCert.exe文件(VBA项目的数字证书)。

      WindowsVista系统:
      1.单击“开始”按钮,然后单击“控制面板”。
      2.依次单击“程序”、“程序和功能”,然后在已安装程序列表中,单击“MicrosoftOfficeEnterprise2007”(或您安装的Office或Excel2007的任何版本)。
      3.单击列表顶部的“更改”按钮。
      您可能需要稍等片刻,安装程序才会执行操作。
      4.在“MicrosoftOfficeEnterprise2007”对话框中(对话框的名称取决于MicrosoftOffice或Excel的版本),确保选择了“添加或删除功能”;然后单击“继续”。
      5.单击“Office共享功能”旁边的加号(+)展开列表,单击“VBA项目的数字证书”旁边的箭头,然后单击“从本机运行”。
      6.单击“继续”。安装完成后,单击“关闭”。关闭“添加或删除程序”和“控制面板”。
      至此,您已安装了SelfCert.exe文件(VBA项目的数字证书)。
4楼
BIN_YANG168
学习了。
5楼
xpm130
首次接触这方面的知识,新鲜.
6楼
opelwang
感谢分享。
支持一下。
7楼
宁远
好,谢谢了,我也试着弄一下这个方法
8楼
erich
你好
在我为宏设置了数字签名后,没一次启动含有此宏的工作簿总有eSafe提示是怎么回事呀?
eSafe提示:没有发现设备,请插入后点击重试。
9楼
omnw
您的机器是不是安装过网银?
我觉得是由于这方面原因造成的。
10楼
mumu73
学习了,谢谢!!!
11楼
亮少
嘿嘿,我改天也去弄个来。
12楼
wangqilong1980
非常好用,谢谢版主。
13楼
庭院幽幽
这方面的用法有点高深哦  收藏了
14楼
rhr2008
学习了,谢谢!
15楼
谢唐

16楼
谢唐
真棒!
17楼
GWH
我也来学习一下,这个还是第一次接触。
18楼
GWH
学习了,第一次接触这方面的东西,挺新鲜的
19楼
田白久
虽然没完全看懂,但觉得挺好的,收藏
20楼
qinhuan66
好好学习天天向上
21楼
w6639
窗口截图.rar




omnw老师您好!向您请教了。我想安装“VBA项目的数字证书”功能。

我依次点了开始——控制面板——程序和功能,窗口显示如图,卸载/更改同在一个按钮,试了好几回它执行的都是卸载,想选择更改该如何操作?
(windows 7系统,“MicrosoftOfficeEnterprise2007”已被我错误卸载)
22楼
icenotcool


23楼
lrlxxqxa
感谢分享

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap