Я пытаюсь получить подписавшего код из подписанного файла apk. Для этого я использую следующий код -
JarFile jarFile = new JarFile("test.apk");
CodeSigner[] signers = null;
Enumeration<JarEntry> entries = jarFile.entries();
while (entries.hasMoreElements()) {
JarEntry je = entries.nextElement();
signers = je.getCodeSigners();
// First positive breaks the loop.
if (signers != null) {
break;
}
}
Файл apk был подписан с использованием jarsigner с алгоритмом MD5withRSA. С тех пор, как я обновил свою младшую версию JDK 8, эта подписывающая сторона возвращает ноль.
После обновления 121 для Java SE 8 Java (JRE) будет обрабатывать все файлы JAR, подписанные с помощью алгоритма MD5, как неподписанные. Я думаю, что по этой причине apk считается неподписанным, а подписывающее лицо возвращается как нулевое.
Есть ли для меня альтернативный способ получить подписывающее лицо?