• Apk打包-签名过程


    参考:http://blog.csdn.net/jiangwei0910410003/article/details/50402000

    参考:http://blog.csdn.net/kickxxx/article/details/18252881

     概念:

    数据摘要:对一个数据源进行一个算法之后得到一个摘要,也叫作数据指纹,不同的数据源,数据指纹肯定不一样。

    著名的摘要算法有RSA公司的MD5算法和SHA-1算法及其大量的变体。

    数据签名:非对称密钥加密技术 + 数字摘要技术 的结合。

    如果消息的发送者有一天想给消息接收者发消息,在发送的信息中,除了要包含原始的消息外,还要加上另外一段消息。这段消息通过如下两步生成:

    1)对要发送的原始消息提取消息摘要;

    2)对提取的信息摘要用自己的私钥加密。

    通过这两步得出的消息,就是所谓的原始信息的数字签名。

     数字证书 - Certificate

    数字证书是一个经证书授权 中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。CERT.RSA包含了一个数字签名以及一个数字证书。

    需要注意的是Android APK中的CERT.RSA证书是自签名的,并不需要这个证书是第三方权威机构发布或者认证的,用户可以在本地机器自行生成这个自签名证书。

    过程

    1.生成MAINFEST.MF文件

    遍历文件内容做一次SHA1算法,就是计算出文件的摘要信息,然后用Base64进行编码

    2.生成CERT.SF文件(内容类似MAINFEST.MF)

    1》计算这个MANIFEST.MF文件的整体SHA1值,再经过BASE64编码后,记录在CERT.SF主属性块(在文件头上)的“SHA1-Digest-Manifest”属性值值下

    2》逐条计算MANIFEST.MF文件中每一个块的SHA1,并经过BASE64编码后,记录在CERT.SF中的同名块中,属性的名字是“SHA1-Digest

    3.生成CERT.RSA文件

    用私钥计算出签名, 然后将签名以及包含公钥信息的数字证书一同写入  CERT.RSA  中保存。CERT.RSA是一个满足PKCS7格式的文件。

  • 相关阅读:
    iOS 6 Auto Layout NSLayoutConstraint 界面布局
    TexturePacker使用心得---1。
    今天说说敏捷个人-认识自我,管理自我 v0.2
    iPhone 5 屏幕尺寸变长指南
    JSON数据解析错误处理办法!
    IOS 入门介绍3iOS里面Frameworks介绍(续)
    Open GLSL ——01
    Open GLES 01
    IOS 入门介绍2iOS里面Frameworks介绍
    Opne GL ES 学习心得!
  • 原文地址:https://www.cnblogs.com/wjw334/p/7657394.html
Copyright © 2020-2023  润新知