1

我的问题有点像这个问题的后续:我可以指定 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 算法进行签名也是如此。

4

1 回答 1

1

不,应用程序签名证书中的签名算法——证书颁发者用来签署证书的算法——对你的 Android 应用程序的安全性没有影响。原因是 Android 不会在应用签名证书中验证此加密签名。

有关更多背景知识,应用签名证书中对 Android 而言最重要的是:

  1. 它解析,
  2. 它声明其公钥可用于数字签名,
  3. (仅在更新已安装的应用程序时)它与当前安装的应用程序版本的应用程序签名证书相同。
于 2017-09-13T15:55:27.130 回答