参考资料Android签名机制之—签名过程详解 HTTPS演化过程 android的签名,说来惭愧;接触android这么长时间了,对其原理如果口述的话还不能说出个一二三来,所以用此篇博文做一个学习笔记。
我们知道非对称加密中可以有两种:一种就是公钥加密,私钥解密。另外一种就是私钥加密,公钥解密。其中前者主要用于通信,后者主要用户验证签名。而后者即私钥加密,公钥解密其实就是android签名的主要理论依据。
先来一个简单的流程图来说明一下验签的过程(图1): 逻辑也很简单,就是在客户端持有服务端公钥的情况下,服务度端将要发送的源数据先生成摘要,然手对摘要用私钥进行加密生成数字签名。将源数据和数字签名一并发给客户端,客户端接收到这两个数据后,用与服务端同样的摘要算法提取源数据的摘要信息A;客户端再用公钥解密了数字签名获取服务端生成的数字签名B;如果A和B这两个签名一致,则证明数据未被篡改。 在这里因为用了私钥生成数字签名ÿ