jarsigner:签名者的证书是自签名警告

Posted

技术标签:

【中文标题】jarsigner:签名者的证书是自签名警告【英文标题】:jarsigner: the signer's certificate is self signed warning 【发布时间】:2021-03-30 12:14:38 【问题描述】:

我正在向 Aptoide 应用商店发布一个应用。他们给了我一个空白 apk,用我的主应用程序中使用的相同密钥库对其进行签名。我使用命令和 jarsigner 签署了应用程序。

应用签名成功但显示警告:

签名者的证书是自签名的

我搜索了它,但大多数可用的解决方案是 SSL 证书,而不是 apk 签名。

【问题讨论】:

【参考方案1】:

tldr;它对 android 应用没有影响。

首先,您应该使用apksigner 而不是jarsigner 为您的APK 签名:apksigner 是专门为Android 创建的,用于签署APK 并且效率更高,而jarsigner 旨在签署任何JAR,所以有些您看到的消息中有一些在 Android 世界中没有多大意义。

要解释此特定消息,您必须了解在创建证书时(在密钥库中),该证书也是经过加密签名的。如果由“受信任的实体”签名,则看到此证书的人可以验证该证书是由您有效创建的。但是,Android 不验证证书的签名(注意:它确实验证APK的签名),所以这个签名是没有用的.因为证书需要签名,最简单的方法是使用颁发证书的私钥对其进行签名:这就是为什么它被称为自签名。

【讨论】:

以上是关于jarsigner:签名者的证书是自签名警告的主要内容,如果未能解决你的问题,请参考以下文章

Android中APK签名工具之jarsigner和apksigner详解

什么是自签名SSL证书?

查找证书是自签名的还是 CA 签名的

Android签名生成和互转

此代码签名证书对签名小程序有效吗?

(高分)java的签名命令keytool与jarsigner的区别怎样使用??(急等)