Если вы посмотрите на инструмент jarsigner и то, что он делает, он генерирует 3 вещи: 1) файл .SF (файл подписи) 2) файл блока подписи на основе используемого алгоритма (например, .RSA, .DSA и т. Д..) 3) изменение или создание файла MANIFEST.MF
Краткое описание: чтобы "подписать банку", просто удалите первые 2 файла (.sf и .dsa / rsa FILE).Либо удалите файл MANIFEST.MF, либо откройте его и удалите все хэши, перечисленные для каждого .class и других файлов, перечисленных там).
Итак, если вы удаляете ВСЕ в каталоге META-INF, который вы запускаетериск удаления других ресурсов банки, которые могут понадобиться (например, файлы свойств и т. д.).Этот «подход дробовика» удаления всего, что «похоже на сигнатуру» вреден и не следует принципу: 1-й - не навреди (своему .jar).
см. Здесь: https://docs.oracle.com/javase/8/docs/technotes/tools/windows/jarsigner.html
https://docs.oracle.com/javase/tutorial/deployment/jar/intro.html
Общие сведения о подписи и проверке
"... Когда вы подписываете файл JAR, ваш открытый ключ помещается в архив вместе с соответствующим сертификатом, чтобы его было легкодоступен для использования любому желающему проверить вашу подпись .... Дайджесты и файл подписи
Когда вы подписываете файл JAR, каждому файлу в архиве дается запись дайджеста в манифесте архива. Вот примеро том, как может выглядеть такая запись:
Имя: test / classes / ClassOne.class SHA1-Digest: TD1GZt8G11dXY2p4olSZPc5Rj64 =
Когда файл JAR подписан, автоматически создается файл подписи инаходится в каталоге META-INF файла JAR, в том же каталоге, где находится манифест архива. Файлы сигнатур имеют имена файлов с расширением .SF.
Файл блока подписи
В дополнение к файлу подписи файл блока подписи автоматически помещается в каталог META-INF при подписании файла JAR.В отличие от файла манифеста или файла подписи, файлы блока подписи не читаются человеком.
Файл блока подписи содержит два элемента, необходимых для проверки:
Цифровая подпись для файла JAR, который былгенерируется с помощью закрытого ключа подписавшего. Сертификат, содержащий открытый ключ подписывающего лица, должен использоваться любым, кто хочет проверить подписанный файл JAR. Имена файлов блока подписи обычно имеют расширение .DSA, указывающее, что они были созданы с помощью алгоритма цифровой подписи по умолчанию.Другие расширения имени файла возможны, если для подписи используются ключи, связанные с другим стандартным алгоритмом.