Android 用私钥计算出的签名和数字证书的区别

自己的体会:

1.数字证书的作用就是保证里面的公钥还有证书指纹、加密算法啥的没有被别人篡改,然后证书中的证书指纹、发布者、所有者等和你的签名文件中的一样,证明这个app是你的(如何保证请看下文)

2.用自己的私钥计算出的签名,保证app的内容在发行过程中不被篡改

 

1.获取签名文件信息:

 

获取apk中的签名:

两个指数指纹完全一样,所以签名文件能保证这个app是属于某个人的app,因为可以保证是一个签名文件签的,因为这些信息被私钥加密过所以是不能被篡改的,如果你瞎改公钥解密时会出错

但是不能保证这个app没有被动过:

第三步因为用自己的私钥计算出签名(这个计算出来的签名是在CERT.RSA文件中并不在证书中,CERT.RSA包括证书和计算出的签名),所以不可能被伪造、修改(如果被伪造进行验证的时候,因为不是私钥计算的所以公钥解密后内容会不一样)。

Android的签名机制(用私钥计算出的签名)能保证App再发布的过程中不被其他人篡改

Androidç­¾å认è¯åæ

这里看到证书中并不包含apk签名流程中第三部生成CERT.RSA时对用私钥计算出的签名。所以证书的信息是不会改变的,这也验证了上面所说的RSA中证书指纹和.keystone中的指纹相同的问题

上图最下面的文字,用CA的私钥对证书的所有域及这些域和Hash值一起加密,这个CA的私钥就是证书自己的私钥,这个保证这些信息都是可靠的(证书的内容被hash和签名(用CA的私钥加密)这样如果证书内容被篡改,那那公钥解密后就会和内容对不上,因为没有私钥,所以不可能伪造已加密的Hash值)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值