表示一个android应用程序签名密钥的一个密钥库实体以及该密钥内完全存储的内容?

问题描述:

要构建一个apk,我们需要一个证书,这个证书包含公钥和一些元数据(如Company,...)。证书本身是通过应用程序签名密钥生成的。表示一个android应用程序签名密钥的一个密钥库实体以及该密钥内完全存储的内容?

应用程序签名密钥与密钥存储库实体完全相同吗? (我现在的想法)


什么是一个keystore实体包含的究竟是什么?

是否密钥库实体是否在一个实体内存储了“私钥+公钥+元数据”? 或“私钥+元数据(单独)”并通过私钥生成公钥? 或者只有一个“私钥”,其中写入元数据并通过私钥生成公钥?

还是其他?我真的很想知道更多基于技术的关于密钥库实体/应用程序签名密钥的信息,并且找不到更详细的(基于技术的)存储和生成描述。

谢谢

谷歌:

“密钥库是包含一个或多个私有密钥的二进制文件“
“生成签名APK [...],选择一个密钥,一个私有密钥,然后输入密码两者。“ https://developer.android.com/studio/publish/app-signing.html

密钥库为容器密钥和证书。一个Android密钥库包含应用程序签名密钥和匹配的证书。

公钥和私钥的密钥是随机生成的。公钥被嵌入X509证书以及一些附加属性,例如序列号或通用名称。证书使用私钥签名以确保源和完整性。见Certificate enrollment process

最后私钥和证书可以导入密钥存储文件:JKS,BKS或PKCS#12

的APK是使用包含在密钥库中的私有密钥数字签名和证书也包括在内,所以你可以验证签字人的身份和包裹的完整性

+0

谢谢@pedrofb!还有一个问题 - 私钥是应用程序签名密钥吗? – MJey

+0

是的,它是一样的 – pedrofb