问题标签 [apksigner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2691 浏览

android - 签名 apk 可以在 Android Studio 上运行,但为什么相同的密钥库不能在命令行上运行?

我用于签署 Android 应用程序的密钥是使用 Android Studio 生成的。当我尝试从 Android Studio 生成签名的 APK 时,它工作正常。

但是,当我尝试使用 apksigner 工具签名时,相同的密钥不起作用。这是我正在使用的命令。

apksigner sign --ks mykey.jks --ks-key-alias MyAlias --out app-myapp-release.apk app-myapp-release-aligned.apk

我收到以下错误:

java.io.IOException:密钥库被篡改,或密码不正确

有什么建议么?

** 更新 ** Android Studio 版本 2.2.3 密钥库是使用 Build 菜单中的“Generate Signed APK”对话框生成的。

0 投票
3 回答
1003 浏览

android - 使用我的签名签名并上传 apk

我的项目遇到问题。我已经由开发人员开发了一个应用程序并上传了由开发人员签名的签名 apk。现在我自己更新了一些代码,并想用我自己的签名将其上传到 playstore。如果可以,我可以这样做吗?谢谢你。

0 投票
1 回答
4045 浏览

android - 我可以指定 apksigner 使用的摘要算法吗?

由于最近的 SHA1-collision 新闻,我想确保 SHA1 不再用于我的 apk 签名。但是我在apksigner中找不到参数。

有没有办法指定(直接或间接) apksigner 使用的摘要算法?

(在 SDK 24 之前,Android 使用 javajarsigner对 apk 进行签名,其中有类似的选项-sigalg SHA1withRSA -digestalg SHA1


更新:正如亚历克斯提到的,我发现如何在V1SchemeSigner.javaapksigner中确定方案 v1 的签名算法。

简而言之,从证书的密钥类型来apksigner确定它。minimumSDK

  • SHA256withRSA最低 SDK 18 (Android 4.3) 及更高版本
  • SHA256withDSA最低 SDK 21 (Android 5.0) 及更高版本
  • SHA256withEC最低 SDK 18 及更高版本
  • SHA1with*用于更低的最低 SDK 级别

这是我为备忘录写的一个常见问题解答:SHA1 Collision and Android APK Signing

0 投票
1 回答
5604 浏览

android - “APK 签名方案 v2”仅由“apksigner”支持,“jarsigner”不支持

我们使用 HSM 进行 APK 签名,为了支持新的“ APK 签名方案 v2 ”,我们是否需要使用 apksigner 来支持方案 1 和 2?

jarsigner - 仅支持“APK 签名方案 v1”(基于 JAR 的签名方案)

apksigner - 支持“APK 签名方案 v1 和 V2”

0 投票
1 回答
8576 浏览

android - Jar 签名者和 Apk 签名者有什么区别?

由于 ApkSigner 在 Android SDK Build Tools 的 24.0.3 及更高版本中可用,我有一个问题:ApkSigner 和 JarSigner 有什么区别?为什么我们需要 ApkSigner?

我可以在命令行中为两个签名者签署 Apk 吗?

0 投票
1 回答
768 浏览

code-signing - Is apksigner compliant with JCE (Java Cryptography Extension) specification?

Is apksigner tool that comes along with Android SDK Build Tools compliant with JCE (Java Cryptography Extension) specification?

0 投票
1 回答
283 浏览

jarsigner - apksigner 是否支持时间戳服务器参数?

jarsigner允许提供时间戳服务器作为参数( -tsa),但apksigner时间戳服务器参数似乎丢失了。

  1. apksigner 不支持时间戳服务器参数?
  2. apksigner 不需要时间戳服务器参数?
0 投票
1 回答
2208 浏览

android - 带有具有 SHA1 算法的证书的 Android SHA256 签名算法

我的问题有点像这个问题的后续:我可以指定 apksigner 使用的摘要算法吗?

我正在使用 apksigner 签署一个 APK,并按照上述帖子的建议,我将 minSDK 提高到 18+。正如预期的那样,生成的 MANIFEST.MF 和 ANDROID.SF 摘要报告包中文件的 SHA-256 摘要散列而不是 SHA-1 摘要散列。

Android-minSDK18.SF 摘录 Android-minSDK18.SF 摘录

Android-minSDK16.SF 摘录 Android-minSDK16.SF 摘录

keytool -printcert -file "ANDROID - minSDK18.RSA"但是,使用或打印 .RSA 证书keytool -printcert -file "ANDROID - minSDK16.RSA"会给出指定 SHA1withRSA 签名算法的相同结果。 在此处输入图像描述

这可能是因为 SHA1withRSA 是嵌入在证书中的签名算法: 在此处输入图像描述

我的问题是知道用于签署 APK 的证书的签名算法是否会对 SHA-1 冲突问题产生影响,即使 APK 使用 SHA-256 算法进行签名也是如此。

0 投票
1 回答
855 浏览

android - apksigner.bat 或 apksigner.jar 的先决条件是什么

在 build-tools 文件夹中有一个 apksigner.bat 和一个包含 apksigner.jar 的 lib 文件夹

当我通过 windows cmd 运行任何命令时,它们都没有返回任何内容!

我应该使用哪一个来验证签名?前提是什么?JDK7,JRE8?我在赢7。

0 投票
1 回答
1692 浏览

android - 上传新 APK 版本时出现签名错误消息(API 级别 8 不支持 SHA1)

我在 2010 年发布了一个应用程序。那时,我创建了一个本地密钥库和一个密钥,我从未更改并用于我此后发布的该应用程序的所有(大约 30 个)版本。

在我使用 Eclipse 开发的时候,我从来没有遇到过任何问题,它总是运行良好,在我切换到 Android Studio 的最后几年也没有。

我发布的最后一个版本是 2016-12-23。现在我想发布一个新的,用 Android Studio 生成一个签名的 APK,上传到开发者控制台......并收到以下错误消息:

上传失败 - 您上传的 APK 签名无效(了解有关签名的更多信息)。来自 apksigner 的错误:错误(Jar 签名者 CERT.DSA):JAR 签名 META-INF/CERT.DSA 使用摘要算法 SHA-1 和签名算法 SHA-1 和 DSA,这在 API 级别 8 上不受支持APK 正在验证中

我尝试了(新可用的)签名版本选项的这些组合(总是具有相同的结果):

  • 只有“V1(Jar 签名)”
  • “V1(Jar 签名)”和“V2(完整 APK 签名)”

我正在使用带有 buildToolsVersion 25.0.0 和 Gradle 版本 3.3 的 Android Studio 2.3.3。