【问题标题】:What is the difference between the Java 1.6 and 1.7 jarsignerJava 1.6 和 1.7 jarsigner 有什么区别
【发布时间】:2012-02-03 02:29:44
【问题描述】:

Just noted 您无法使用 Java 1.7 jarsigner 签署 Android APK。所以我想知道为什么会这样,1.6 和 1.7 的签名者有什么区别?

【问题讨论】:

    标签: java-7 java-6 jarsigner


    【解决方案1】:

    这是因为 Java 1.7 的默认摘要算法是 SHA-256,而 Java 1.6 的默认摘要算法是 SHA1withDSA

    Java 1.6 Jarsigner docs

    Java 1.7 Jarsigner docs

    【讨论】:

    • 谢谢。现在我只需要找出如何调整 maven 以使用正确的 jarsigner 和/或正确的 sigalg。
    【解决方案2】:

    是的,你可以使用 1.7!

    查找 1.7 的使用信息非常棘手,但一旦找到它就相当简单了:

    对于 keytool 包括

    -sigalg SHA1withDSA -keyalg DSA -keysize 1024

    对于 jarsigner 包括

    -sigalg SHA1withDSA -digestalg SHA1

    (1024 是最大值并且有效,更少可能会起作用)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-24
      • 2011-06-02
      • 2010-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-12
      相关资源
      最近更新 更多