代码签名证书

介绍:

建议将MS Office应用程序中的“宏安全级别”设置为“高”。 除非与项目关联的任何VBA代码都已签名(带有证书),否则它将停止运行。 受信任的签名将允许代码正常运行,而不受信任的签名将提示用户要么信任签发的CA(证书颁发机构)并启用代码,要么干脆禁用代码。

一切都很好,但是假设您开发了可在工作场所使用的Excel,Word,Access等项目,并且您不想花很多钱从主要的发行CA之一购买昂贵的证书吗? 您还希望保护用户库免受其他地方的潜在恶意代码的侵害,但要运行您的

官方顺利进行,没有持续的提示。

可以使用selfcert.exe进行自我认证,但是以这种方式创建证书时,不能导出其私钥。 Windows证书控制台的导出向导显示“关联的私钥被标记为不可导出”。 这实际上意味着它只能在使用证书的PC上运行。 这似乎是远远不够的。

本文介绍了如何轻松解决这一问题。 构建它的大部分细节来自

http://www.source-code.biz ,所以我对此表示感谢。 创建证书文件:

若要创建可用于在多台计算机上签名MS-Office VBA项目(Excel / Word宏)的证书文件(.PFX),需要三个可执行文件:

MakeCert.Exe Cert2Spc.Exe PVKImprt.Exe

注意 PVKImprt.Exe是下载的名称,以及下载内部的文件名。 里面的一个很重要。 容易出错,因为某种原因它被双重压缩了。

如果链接消失了,我还将这些可执行文件的副本作为附件(CodeSigning.Zip)包括在内。 该文件中的PVKImprt.Exe是实际需要的,而无需重新提取。

解决方案: 参数:

以下命令可用于创建一个PFX文件(PKCS#12),该文件包含自签名证书以及关联的私钥,但是在开始之前,我们需要解释/定义一些参数:

%Name%=您希望证书显示为的名称。

%File%=要使用的文件名(不带扩展名)。

%PW%=确定用于证书的密码。

证书创建:

MakeCert -r -n "CN=%Name%" -b 01/01/2000 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.3 -sv %File%.pvk %File%.cer
******** You will be asked for a password (%PW%) 3 times.
Cert2Spc %File%.cer %File%.spc
PVKImprt -pfx %File%.spc %File%.pvk
******** Enter password (%PW%) to start the Wizard.
******** Select to export the private key.
******** Select to "include all certificates in the certification path" & "to enable strong protection".
******** Enter password (%PW%) again, twice.
******** Enter, or browse to, the name of the export file required (path\%File%.pfx).
******** Finish if / when you have checked the details on the final screen.

最后一条命令(pvkimprt -pfx ...)创建文件%File%.pfx。 然后可以将此PFX文件导入Windows证书存储区并用于代码签名。

(MakeCert.Exe和Cert2Spc.Exe是几个Microsoft SDK的一部分,例如Platform SDK或DotNet SDK,可以从microsoft.com下载)。

证书安装:

在可用.pfx文件的情况下,请按照以下步骤安装将项目签名到PC的功能:

  1. 打开控制面板
  2. 选择“ Internet选项”
  3. 选择内容选项卡。
  4. 单击证书
  5. 点击导入...
  6. 点击下一步
  7. 点击浏览
  8. 选择Type = Personal Information Exchange(.pfx)的文件
  9. 选择%File%.pfx
  10. 点击下一步
  11. 再次输入%PW% ,然后根据需要选择“ 启用强私钥保护”
  12. 选择将此密钥标记为可导出
  13. 点击下一步
  14. 选择自动选择证书存储
  15. 单击下一步,然后单击完成

签署项目:

现在安装了证书,您需要使用它签署一个项目。

如果您没有空位:

  1. 打开Excel。
  2. 在单元格A1中键入任何内容(任何内容)。
  3. 使用Alt-F11切换到VBA编辑器。
  4. 在项目资源管理器窗格(Ctrl-R)中,双击ThisWorkbook
  5. 在“代码”窗格中,粘贴以下简短代码:
    Option Explicit
    Private Sub Workbook_Open()Call MsgBox("Hello World")
    End Sub
  6. 选择工具 / 数字签名 / 选择
  7. 选择证书。
  8. 单击确定
  9. 使用Alt-F11切换回Excel并保存文件(例如Test.Xls)。

信任签名:

希望信任此签名(使用2007年之前的Access版本)的任何人都应该:

  1. 打开Excel并确保将安全级别设置为“高”(“ 工具” /“ 宏” /“ 安全性” /“ 高” )。
  2. 打开一个包含签名项目的文件(例如Test.Xls)。
  3. 弹出“ 安全警告”窗口时,选择“ 始终信任来自此发布者的宏”(如果未显示为灰色)
  4. 单击启用宏
  5. 如果显示为灰色:
    1. 单击详细信息... / 查看证书 / 安装证书...
    2. 像以前一样浏览并“完成”向导。
    3. 关闭“ 安全警告”窗口(顶部的X确保文件没有打开)。
    4. 重新打开文件。 选择始终信任来自此发布者的宏 (不再显示为灰色)
    5. 单击启用宏

希望信任此签名(使用Access 2007)的任何人都应该:

  1. 打开一个数据库,您知道该数据库已经由您希望信任其发布者的证书签名。
  2. 带有选项按钮的窗口顶部附近会出现一条安全警告消息。 点击这个。
  3. 选择显示签名详细信息
  4. 选择查看证书
  5. 点击安装证书...
  6. 显示向导时,单击“ 下一步 ”。
  7. 选择基于证书类型自动选择证书存储单选按钮。
  8. 单击下一步
  9. 点击完成
  10. 您是否要安装此证书的问题 ,回答“ 是”
  11. 单击确定
  12. 单击确定
  13. 单击确定
  14. 选择“信任此发布者的所有文档”
  15. 单击确定
附加的文件

CodeSigning.Zip (27.8 KB,625浏览)

翻译自: https://bytes.com/topic/access/insights/863718-code-signing

代码签名证书

代码签名证书_代码签名相关推荐

  1. 苹果企业证书_企业签名App稳定吗?

    苹果企业签名App也就是App需要在苹果系统中安装软件需要用到的证书签名,苹果手机上的App除了上架,一般不经过苹果签名是不被允许下载和安装的.那么苹果签名中较常见的就是企业签名了,这种企业签名App ...

  2. 苹果企业证书_苹果签名经常掉签原因大汇总

    苹果签名就是数字签名,是基于非对称加密算法来实现的,对称加密就是通过非对称加密算法实现的,对称加密是通过同一份秘钥加密解密数据,非对称加密有两份秘钥,分别是公钥和私钥,用公钥进行加密的数据只能使用私钥 ...

  3. 苹果签名是什么意思_【苹果签名证书】TF签名是什么,怎么做,价格

    TF签名是什么? TF签名又称TF上架,它是一种苹果认可的分发模式,它的全称是testflight. TestFlight 测试 App可以帮助开发者测试 Beta 版 App.开发者可公开链接邀请, ...

  4. 自签名证书说明——自签名证书的Issuer和Subject是一样的。不安全的原因是:没有得到专业SSL证书颁发的机构的技术支持?比如使用不安全的1024位非对称密钥对,有效期设置很长等...

    一般的数字证书产品的主题通常含有如下字段: 公用名称 (Common Name) 简称:CN 字段,对于 SSL 证书,一般为网站域名:而对于代码签名证书则为申请单位名称:而对于客户端证书则为证书申请 ...

  5. java 代码坏味道_代码中的坏味道

    前言 在日常生活中,当我们买的水果放久了之后会发出一种难闻的气味("坏味道"),这个时候我们就应该把它扔掉.同样,代码也有"坏味道",当然确定什么是和不是代码& ...

  6. 【自签名证书私有CA签名证书】

    一.自签名证书 创建私钥 openssl genrsa -out ssl.key 1024 创建证书签名请求(根据私钥生成证书签名请求 一般是生成请求以后发送给CA,然后CA会给你签名并发回证书) o ...

  7. python代码自动格式化_代码的自动格式化

    代码格式化是一个在软件开发过程中值得一提的话题. 所谓代码格式化就是说,程序员在书写代码的过程中或者完成代码开发后对代码书写格式排版的调整,使得已经完成的代码变的更美观整洁也更具有可读性,也能增加完成 ...

  8. java 代码整洁快捷方式_代码整洁之道:你的代码是否足够优雅、整洁、易懂?...

    普通的工程师堆砌代码,优秀的工程师优雅代码,卓越的工程师简化代码.如何写出优雅整洁易懂的代码是一门学问,也是软件工程实践里重要的一环.下面从注释.命名.方法,并发等视角简单给出了部分最佳实践.相信每一 ...

  9. java 代码书写规范_代码书写规范和命名规范

    上一篇给大家分享了一下,关于文档编写的几个概念.这篇文章阐述如果编写代码书写规范以及命名规范文档.[以java语言为例] 1.代码书写规范 代码书写规范,能够让不同的人,写出相同风格的代码.很多人都看 ...

最新文章

  1. 基于串级PID的直立车控制算法研究
  2. Android开发——跟随手指的小球实现
  3. 计算智能-群智能算法-粒子群算法matlab实现
  4. django配置数据驱动,python安装失败问题
  5. Springboot只允许进入登录注册的页面,没登录页面进行拦截。
  6. 零基础mysql项目实例_MySQL-零基础开发
  7. SignalR与自托管Windows服务
  8. mysql insert锁 innodb_mysql – 处理ON INSERT触发器时如何锁定innodb表?
  9. Android设备新型恶意软件,融合银行木马、键盘记录器和移动勒索软件等功能
  10. 用好SVG格式 让网站速度提升起来
  11. [CTSC2018]暴力写挂
  12. Introduction to Computer Networking学习笔记(三):IP与子网掩码
  13. 《Java高并发编程详解:多线程与架构设计》笔记(一)
  14. 几款杀毒软件下载和升级
  15. 印度孵化器的红利期才刚到,但花样还真不少
  16. java syn包_TCP攻击之SYN攻击
  17. H5 img标签图片无法显示 -- 解决方案
  18. matlab char 转asc码,科学网—C语言与MATLAB对二进制文件与ASCII文件转换 - 张凌的博文...
  19. 文字内容超出两行时显示省略号
  20. win7计算机虚拟内存,Win7虚拟内存怎么设置最好?系统高手告诉你如何更好的设置虚拟内存...

热门文章

  1. Sql server没有服务器名称怎么办
  2. 宇宙最简单排序:桶排序
  3. 【扩展欧几里得】Codeforces Round #406 (Div. 2) A. The Monster
  4. BZOJ2277[Poi2011]Strongbox——数论
  5. GoLang之使用sync.pool和sync.cond
  6. 有一种遥远,叫从家到公司的距离
  7. Tue Sep 03 2019 00:00:00 GMT+0800 (中国标准时间)怎么变成时间戳
  8. Java代码评审歪诗!让你写出更加优秀的代码!
  9. 成都有什么好的互联网公司推荐?
  10. C语言利用泰勒级数sin(X)