美文网首页
关于Android studio中证书、签名、密钥的问题

关于Android studio中证书、签名、密钥的问题

作者: 申岩 | 来源:发表于2019-01-17 00:52 被阅读0次

    一、前言

    这篇文章是本人对于证书、签名、密钥的理解,可能有错误的地方,望指正。

    这篇文章回答了什么是.jks(JAVA key store)?Alias(别名)又是什么?jks和别名的password(密码)又有什么不为人知的秘密?

    二、key(密钥)相关的基本概念

    通常所说的密钥加密是采用的是非对称加密方式。即,每个key都含有一对密钥和一个hash值(指纹),一对密钥也就是公钥和私钥。公钥可以分发出去,私钥自己保密。用公钥加密的内容,只能用私钥解出;用私钥加密的内容,只能用公钥解出。

    三、解决开发中的相关问题

    1、什么是.jks文件?

    .jks文件是密钥库格式的文件,文件中保存了一个密钥库,密钥库中又保存了多个密钥。

    每个密钥中包含了两条数据:

    (1)密钥实体(Key entity)— 密钥(secret key)又或者是私钥和配对公钥(采用非对称加密)

    (2)可信任的证书实体(trusted certificate entries)— 只包含公钥

    因此,我们平时说的证书也就是公钥,密钥也就是私钥,这里翻译可能有点乱,看了好多资料也没个准确的定义,重点是意会。

    2、Alias(别名)又是什么?

    别名则是这条密钥的名字,用来人为地区别分不同的密钥,密钥是字符,也不太好背。

    3、jks和别名的password(密码)又有什么不为人知的秘密?

    jks的密码就是密钥库的密码,拥有这个密码就可以得到这个密钥库里所有密钥的公钥。别名的密码就是私钥的密码,拥有这个密码就可以得到私钥的密码,一般这个密码是开发者自己保留。

    4、APK的签名机制有什么作用?

    (1)APK的升级安装:APK如果使用一个key,发布时另一个key的相同的APK文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉。

    (2)功能和数据共享:Android提供了基于签名的权限机制,一个APK可以向另一个以相同证书签名的APK开放自己的功能和实现数据共享。

    相关文章

      网友评论

          本文标题:关于Android studio中证书、签名、密钥的问题

          本文链接:https://www.haomeiwen.com/subject/zyxbdqtx.html