惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The GitHub Blog
The GitHub Blog
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
B
Blog RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Vercel News
Vercel News
腾讯CDC
博客园 - 聂微东
The Cloudflare Blog
F
Fortinet All Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
Last Week in AI
Last Week in AI
B
Blog

博客园 - 冰封王座(.net)博客

实现qq的自动登录 - 冰封王座(.net)博客 - 博客园 在C#中使用 makecert 创建自签名的证书 对比 javascript url编码 有关 java 与 C#细节不同 - 冰封王座(.net)博客 mysql常用命令 使用 DotnetOpenMail发送带附件的邮件 - 冰封王座(.net)博客 - 博客园 今天你处理异常了么? 防止SQL注入攻击 在DataGrid中进行值映射 - 冰封王座(.net)博客 - 博客园 UML视图使用 想要做个开源 大家谁有创意啊? 程序员每天该做的事 Google SiteMap的作用及协议格式详解[转摘] 取得客户端MAC Java学习之路:不走弯路,就是捷径 开发人员必备网站 Acess 存储与显示图片 css 外层保持固定高度的情况下 能随内层高度自适应变化 新的学习计划(10/8--10/15)
创建带签名的cab包的完整流程
冰封王座(.net)博客 · 2007-04-27 · via 博客园 - 冰封王座(.net)博客
 

创建代码签名:

1. 制作cab

制作cab包之前首先要编写 .inf 文件,这个比较麻烦,可以参考现成的例子,如:

[version]

Signature="$CHICAGO$"

AdvancedINF=2.0

[Add.Code]

HebcaMailClient.ocx=HebcaMailClient.ocx

[HebcaMailClient.ocx]

file-win32-x86=thiscab

clsid={78D1D24A-C552-4402-95FA-E9CA2E8924F2}

FileVersion=1.0.1.1

RegisterServer=yes

制作cab包的工具很多,有CabMakercabArcMakeCab等。我用的是CabMaker,挺好用的,打开后选择一个路径打包就可以了。

2. 获取代码签名证书

获取代码签名证书,可以从CA认证公司去申领。如果是个人测试,可以自己创建测试用的证书。可以用makecert 工具(dotnet框架下就有),也可以用windows2000windows2003自带数字证书认证服务创建比较正规的测试证书。创建过程如下:

1) 在添加删除程序里面选择 添加/删除windows组件。

2) 选择 证书服务 然后安装即可。默认会安装证书申请的web页面。

3) 在本地输入:http://localhost/certsrv 。选择第二项然后按照提示申请代码证书即可。如果有usbkey的话,可以选择将证书颁发到usbkey上。

4) 选择管理工具-à证书颁发机构。然后将待定申请的代码签名证书选择颁发即可。

5) 在客户端需要将测试CA的根证书安装上。输入:http://ca serverIp/certsrv,选择第一项安装根证书即可。

3. cab包进行签名

这儿用signcodecab包进行签名

在命令提示行中执行

signcode

之后进入signcodewizard:

step1.选择要签名的cab文件

step2.自定义

step3.从文件中选择 myNew.spc

step4.csp中的私钥/密钥容器:myNewKey

step5.sha1

step6.next

描述、时间戳如果有的话可以添上。

4. 验证所作的签名

可以使用chktrust工具对所作的签名进行验证,

在命令行中直接使用chktrust   *.cab即可。如果出现预料结果则成功,否则,极有可能是证书有效期出现了问题。

5. 网页中测试:

</head>后面添加:

 <OBJECT classid="CLSID:78D1D24A-C552-4402-95FA-E9CA2E8924F2" CODEBASE="Package.cab#version=1,0,1.1" id="mc" VIEWASTEXT width="1" height="1">

 </object>

进行测试即可。