关于文件(软件)签名问题的理解
2017-07-17 15:16
465 查看
手机等系统安装软件时一般会进行签名处理;
一、签名原理:
1.签名是根据hash算法或md5算法进行对包文件(apk,exe等文件)计算得出hash值或md5值的过程,这个计算得来的hash值或md5值就是此包文件的签名;
并将此签名保存到整个包文件的指定文件夹中;
但是为了安全处理还要进行加密处理;
二、整个运行流程;
将软件包的拥有者分为两类;一类是开发者D;另一类是使用者U;
开发者签名并加密阶段::
1.开发者D对包文件进行签名;
根据签名算法进行签名得到签名值(hash值或md5值);
2.开发者D对文件进行加密;
使用RSA加密算法进行非对称加密;这里认为使用私钥加密;公钥解密;
通过RSA对签名进行加密后得到新的值记为hsah'或md5';并将新得到的加密签名替换到原签名(未加密)所在文件夹中,也即是将加密后的签名替换掉未加密的签名;
使用者计算得到的包文件签名并解密原签名阶段
3.使用者对得到的包文件进行同样算法的签名计算;得到hash或dm5值
4.解密包文件中的hash'或md5'值并与计算得到的hash或md5值进行匹配;
相同则说明签名成功;
一、签名原理:
1.签名是根据hash算法或md5算法进行对包文件(apk,exe等文件)计算得出hash值或md5值的过程,这个计算得来的hash值或md5值就是此包文件的签名;
并将此签名保存到整个包文件的指定文件夹中;
但是为了安全处理还要进行加密处理;
二、整个运行流程;
将软件包的拥有者分为两类;一类是开发者D;另一类是使用者U;
开发者签名并加密阶段::
1.开发者D对包文件进行签名;
根据签名算法进行签名得到签名值(hash值或md5值);
2.开发者D对文件进行加密;
使用RSA加密算法进行非对称加密;这里认为使用私钥加密;公钥解密;
通过RSA对签名进行加密后得到新的值记为hsah'或md5';并将新得到的加密签名替换到原签名(未加密)所在文件夹中,也即是将加密后的签名替换掉未加密的签名;
使用者计算得到的包文件签名并解密原签名阶段
3.使用者对得到的包文件进行同样算法的签名计算;得到hash或dm5值
4.解密包文件中的hash'或md5'值并与计算得到的hash或md5值进行匹配;
相同则说明签名成功;
相关文章推荐
- 关于执行命令:sudo apt-get update后的“E: 无法解析或打开软件包的列表或是状态文件”问题解决
- 关于命令行签名时.SF和.RSA文件的命名问题
- 关于命令行签名时.SF和.RSA文件的命名问题
- 关于Win7系统中软件安装目录下ini配置文件的读写问题
- Macfee 杀毒软件“签名文件存在8到29天”问题的解决办法!
- 关于软件自签名的理解提到的工具“makekeys”
- 关于金山软件杀毒软件卸载后Kingsoft大文件无法删除的问题
- 关于CCScale9sprite的问题,使用TexturePacker软件,导入plist文件后BUG
- 关于Android中签名文件的问题
- 关于DBF文件导入问题
- 关于asp.net中js文件中文显示支持的问题。
- 原型方法论 ---关于软件原型方法若干问题的讨论
- 关于aspx文件生成静态页面问题与我的回答
- 关于用内存映射文件加、解密大文件的问题,谢谢!
- 关于软件维护问题的几点思考
- 关于使用ODBC+VC操作DBF文件问题小结
- 关于Win2K3中利用ASP上传文件的问题!
- 关于共享软件的一些问题-转贴
- 关于昨天说的“在*.CS文件中加入版本跟踪信息”问题
- 关于文件的上传问题!