В чем разница между jarsigner Java 1.6 и 1.7 - PullRequest
16 голосов
/ 05 января 2012

Только что заметил , что вы не можете подписывать APK-файлы Android с помощью jarsigner Java 1.7. Вот мне и интересно, почему это так и в чем разница между подписавшим 1.6 и 1.7?

Ответы [ 2 ]

11 голосов
/ 05 января 2012

Это потому, что алгоритм дайджеста по умолчанию для Java 1.7 - SHA-256 , а для Java 1.6 - SHA1withDSA .

Java 1.6 Jarsigner docs

Java 1.7 Документы Jarsigner

6 голосов
/ 23 января 2012

Да, вы МОЖЕТЕ использовать 1.7!

Найти информацию об использовании с 1.7 очень сложно, но как только она будет найдена, это достаточно просто:

Для keytool включите

-sigalg SHA1withDSA -keyalg DSA -keysize 1024

Для jarsigner:

-sigalg SHA1withDSA -digestalg SHA1

(1024 - максимум и работает, меньше может сделать трюк)

...