软件数字签名一点基础知识整理
来源:互联网 发布:淘宝迅雷会员充值 编辑:程序博客网 时间:2024/04/29 22:59
主要参考《MSDN:Introduction to Code Signing》,没有直译,算是自己的理解整理的。
为什么要对软件进行数字签名?
现在软件都是通过Internet发布,由于Internet上病毒和黑客技术的泛滥,你要让用户相信你的软件,是来自可靠的公司和组织,
并确保软件在下载过程中不被恶意修改。利用数据签名,可以做到这一点。但要注意,不是说有数字签名的软件就是安全的软件。
数字签名?
通常是非对称加密算法,例如RSA加密算法,包括一个公钥和私钥,私钥用来加密,也就是生成签名,公钥用来解密。
数字签名的工作过程?
直接对文件进行加密,在遇到文件很大时,速度很慢。因此实际数字签名协议是用的Cryptographic Digest(加密摘要)。具体步骤:
1、根据文件生成一个单向的哈希值(one-way hash,哈希可见的形式是16进制字符串)
2、用私钥加密哈希值,这样就实现对文件签名了。
3、发布、传输带签名的文件。
4、接受人根据文件生成一个哈希值。
5、用公钥解密文件的签名,得到原始哈希值
对比4和5的结果,如果相同就证明签名是有效的。
数字证书?
一个文件,包含了软件发布人的公钥。一般随软件一起发布。证书由CA机构在验证了发布人后发布的。
至少包含以下信息:
Owner's public key
Owner's name or alias
Expiration date of the digital certificate
Serial number of the digital certificate
Name of the certification authority that issued the digital certificate
Digital signature of the certification authority that issued the digital certificate
- 软件数字签名一点基础知识整理
- 软件代码数字签名和 ActiveX 控件基础知识
- 软件测试基础知识整理
- 软件相关基础知识整理
- 软件测试基础知识整理
- PADS 软件基础知识整理
- 软件测试基础知识整理
- 数字签名基础知识
- [转贴]软件数字签名原理——PKI 基础知识
- 软件测试基础知识整理一----软件测试的定义
- 一点基础知识
- 一点基础知识
- verisign软件代码数字签名
- 软件代码数字签名基本原理
- 软件数字签名向导API
- 软件代码数字签名基本原理
- 软件代码数字签名基本原理
- 软件代码数字签名基本原理
- java接口与抽象类的区别
- gamebryo--如何应用shader
- IT职场求生法则
- SQLServer附加数据库时提示“对sysindexes运行DBCC CHECKTABLE”
- 对方网络非正常断开检测方法
- 软件数字签名一点基础知识整理
- c++编译器设置 详解
- ABAP中正则表达式的简单使用
- Unable to Open User Login File
- 解读Tapestry5.1——请求调用链
- asp.net(c#)数据类型格式转换大全
- 深入了解字符集和编码--正在写一个阅读器,收集资料
- Tapestry5 事件分派机制
- BREW™ SDK入门篇(一)