给代码签名的六个步骤
微软公司
通过微软的 Internet Explorer, Microsoft Authenticode™ 技术允许最终用户在从网上下载软件之前,能够确认这个软件的出版者,并且能验证这个软件是否被篡改。Authenticode 提供了证明软件可用性的方法。一旦软件出版商申请到他们的数字证书时,Microsoft ActiveX™ SDK就提供给他们根据工业标准数字签名技术给代码签名的工具。
对于软件出版商,代码签名需要六个步骤:
下载最新版本的Internet Explorer
在http://www.microsoft.com/windows/ie/download/ 网址可以得到最新版本的Internet Explorer。你需要用它来申请你的证书以及浏览你的签名代码。
向证书权威机构申请证书
软件出版者可在http://www.microsoft.com/intdev/security/authcode/ 网址向证书权威机构 (CA)申请证书,通过访问CA的Web站点可进行在线申请并填写相应表格。
你可以选择申请个人的或商业的软件出版者证书。如果是商业机构,就申请商业出版商证书,反之,则申请个人软件发行人证书。
完成申请工作以后,CA需要大约一周的时间来调查申请者的信息。最后,申请者会得到CA签发的证书和一个需要你妥善保存的秘钥,你需要使用这两者完成为代码签名的工作。
下载最新版本的 ActiveX SDK
从http://www.microsoft.com/intdev/sdk/ 网址可以下载最新版本的ActiveX SDK。为代码签名的工具就在这个工具箱中,其中还提供了相关文档。
准备好要被签名的文件
如果这个文件是可执行文件,如.EXE、 .OCX、 .DLL等,就不需要做特殊的工作。对于 cab 文件,你需要在创建这个cab文件以前把下面的入口加到你的.DDF 文件中。
Set ReservePerCabinetSize=6144
给文件签名
现在你就可以给你的.EXE、 .CAB、 .OCX、或者 .DLL文件签名了。范例如下:
signcode -prog myfilename -name displayname -info http://www.ccert.edu.cn/faq/ -spc
mycredentials.spc -pvk myprivatekey.pvk
myfilename:要签名的文件名称
displayname:证书中对该文件的描述
http://www.ccert.edu.cn/faq/ 提供给用户关于下载文件的更详细的信息。
mycredentials:从CA获得的证书文件
myprivatekey:在向CA申请过程期间生成的秘钥。
注意如果你不带任何参数运行signcode,它将会激活一个向导帮助你一步一步完成签名过程)
测试签名
运行chktrust文件名 测试.EXE、 .DLL、或 .OCX 文件的签名
运行chktrust -c cab文件名.cab测试cab文件的签名
签名进程一旦工作,即会显示一个证书。
好了,现在你已经完成了为文件签名的工作。当使用Internet Explorer从一个Web站点下载这个文件时,用户将会看到一个相同的证书。如果这个文件在经过签名程序后被篡改,就会有提示出现告诉用户不要安装。
如果有更多问题,请与微软产品支持服务部门联系,或者访问Web站点http://www.microsoft.com/intdev/security/authcode/
分享到:
相关推荐
代码签名证书是软件开发领域中一个至关重要的工具,它为软件开发商提供了一种验证软件来源和开发者身份的方式,同时也增强了用户对软件安全性的信心。在本文中,我们将深入探讨申请代码签名证书的流程以及它所带来的...
代码签名数字证书是一种重要的安全机制,它主要用于验证软件开发者身份以及确保代码在传输过程中未被篡改。在本文中,我们将深入探讨代码签名的概念、作用,以及如何在C和C++源码中实现数字签名。 首先,让我们了解...
为了解决这个问题,你可以下载并安装标题提及的“windows无法连接到打印机SHA-2代码签名补丁win7修复工具打印机连接错误0x0004005.exe”文件。这个工具专门设计用于为Windows 7系统提供SHA-2代码签名支持,从而修复...
使用这个"代码签名证书制作工具",你可以遵循以下步骤: 1. **下载与安装**:首先,解压"代码签名证书制作工具.zip",根据提示安装或运行工具。确保你的计算机系统支持该工具的运行环境。 2. **生成密钥对**:在...
以下是C#实现RSA数字签名的基本步骤: 1. **生成RSA密钥对**: - 使用RSACryptoServiceProvider类的实例化方法生成密钥对。 - 可以通过SavePrivateBlob和SavePublicBlob方法保存或加载密钥。 2. **计算消息的...
### BlackBerry代码签名工具申请及安装详解 #### 一、背景与概述 在BlackBerry平台的开发过程...通过上述详细步骤和注意事项,开发者可以顺利完成BlackBerry代码签名工具的申请及安装流程,确保应用程序的安全发布。
代码签名的主要步骤包括生成密钥对(公钥和私钥)、使用私钥对JAR文件签名以及验证签名。 首先,我们需要生成一个密钥对。在命令行中,可以使用`keytool`工具创建一个新的密钥库(keystore)并生成一对密钥。例如:...
以下是使用VS2010为C#项目进行强签名的详细步骤: 1. **创建签名密钥文件** - 首先,你需要生成一个用于强签名的密钥对。这可以通过Visual Studio 2010的内置工具来完成。 - 打开Visual Studio 2010,然后创建一...
在实际应用中,使用数字证书代码签名工具的步骤通常包括以下几步: 1. 获取代码签名证书:向认证机构申请,提供必要的身份验证信息。 2. 导入或创建P12文件:将证书和私钥合并到P12文件中,便于管理和传输。 3. 使用...
在压缩包内的源代码中,开发者可能已经实现了这样的流程,包括数据读取、特征提取、模型训练、匹配判断等多个步骤。 在进行签名识别系统开发时,还需要注意一些关键问题,比如噪声处理、模板库的管理、防欺诈策略等...
C++实现RSA数字签名时,通常会涉及到以下几个关键步骤: 1. **密钥生成**:包括选择两个大素数p和q,计算n=p*q,欧拉函数φ(n)=(p-1)*(q-1),然后选择一个整数e,满足1φ(n)且e与φ(n)互质,最后找到d使得d*e ≡ 1 ...
本项目涉及的“数字签名技术代码”显然聚焦于实现这一技术的编程实践。 数字签名并非字面上的签名,而是一种利用公钥加密算法(如RSA)和散列函数(如DES)来确保信息的完整性和发送者身份验证的技术。它通过在数据...
RSA2048签名代码是基于著名的非对称加密算法RSA的一种应用,主要用来实现数据的数字签名。在这个C语言实现的项目中,开发者提供了一个完整的解决方案,旨在帮助熟悉C语言的用户理解并运用RSA2048签名机制。下面我们...
然而,需要注意的是,强签名并不提供代码的加密,只是保证了程序集的身份和完整性。对于需要保护源代码的场景,可能还需要配合其他安全措施,如混淆器或者代码加密。 总的来说,强签名是.NET开发中一个重要的概念,...
文档可能包含更具体的代码实现步骤和注意事项,便于学习和参考。 通过这个资源包,无论是初学者还是经验丰富的开发者,都可以深入学习和实践RSA数字签名的原理和Python实现,从而提升对网络安全和密码学的理解。
代码签名数字证书是软件开发和发布过程中的一个重要环节,它主要用于验证软件的来源和完整性,保护用户免受恶意代码的侵害。在这个场景中,我们讨论的是一个包含私钥的PFX文件,这是一种常用的证书格式,用于存储...
MATLAB代码签名是指在MATLAB编写的代码中嵌入数字签名,以确保代码的完整性和来源。这对于分发和执行第三方MATLAB程序至关重要,因为它可以防止代码被恶意篡改,并让用户确认代码的来源。 在提供的压缩包文件" ECC...
微软提供的`微软代码签名证书签名指南.doc`文档详细阐述了如何获取并使用数字证书来签署代码。首先,你需要一个代码签名证书,这通常由受信任的证书颁发机构(CA)提供。证书包含了发行者的公开密钥和身份信息,通过...
在这个"android代码获取签名MD5指纹demo"中,我们将深入探讨如何在Android代码中获取应用签名的MD5指纹。 首先,我们需要理解Android应用的签名流程。在Android中,每个APK在打包发布前都需要进行签名。这个过程会...