Я пытаюсь понять, какие шаги проходят jar и jarsigner при создании и регистрации кода Java, чтобы воспроизвести части этих шагов программно.
В частности, я хотел бы знать, что именно входит в файл .SF, потому что я прочитал много документов, в каждом из которых говорится что-то немного отличающееся, некоторые примеры:
Дайджест (или хэш) вычисляется для каждого файла в JAR и включается в манифест, например,
Имя: Hello.class SHA1-Digest: (160-битное хэш-значение файла)
Когда файл JAR подписан, файл подписи с расширением «.SF» создается в каталоге META-INF. Дайджест-значение каждого файла подписывается (или шифруется) с использованием закрытого ключа подписавшего. например.,
Имя: Hello.class SHA1-Digest: (значение дайджеста, зашифрованное с использованием закрытого ключа подписывающей стороны)
Файл подписи содержит записи дайджеста для файлов архива, которые похожи на записи значения дайджеста в манифесте. Однако в то время как значения дайджеста в манифесте вычисляются из самих файлов, значения дайджеста в файле сигнатур вычисляются из соответствующих записей в манифесте. Файлы подписи также содержат значение дайджеста для всего манифеста.
- другие источники, которые трактуют аргумент расплывчато и не описательно
Итак... что именно содержит файл .SF? Как вычисляются его записи?
Пожалуйста, прежде чем публиковать ответ, проверьте его с помощью хэш-калькулятора примерно так< /strong> при необходимости!