2014-01-06 9 views
0

Я пытаюсь подписать сторонние банки, используя signtool на solaris. У банков уже есть файл manifest.mf, но signtool создает новый файл MANIFEST.MF в каталоге META-INF/и использует его для подписи банку. Если я попытаюсь проверить подписанную банку, она терпит неудачу, потому что есть две разные версии файла манифеста. Если я копирую то, что находится в текущем файле manifest.mf, в MANIFESET.MF, signtool перезаписывает данные.Подписывание банкоматов с помощью signtool

Можно ли указать, какой файл использовать для подписи jar (например, manifest.mf over MANIFEST.MF)? Или есть способ сказать signtool, что включить в новый MANIFEST.MF?

Это актуальная проблема, поскольку в следующем обновлении java необходимо, чтобы банки были подписаны, а также включали тег разрешений для апплетов.

ответ

0

Погрузившись только в один апплет, я должен поддерживать, а не и сам эксперт, я нашел только редкую информацию по этой теме. Все, что я нашел, было чем-то в загадочной документации аргумента signtool -m (metafile). От https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Tools/signtool я догадался, что «+, если вы хотите указать глобальные метаданные (то есть метаданные о самом архиве JAR или все записи в архиве)», может быть критической ссылкой на META-INF/MANIFEST.MF - и, похоже, быть.

Использование anthill с build.xml и не зная лучшего соглашения, я создал «src \ antBuild \ signtool-extras.mf» и использовал «-m {basedir} \ src \ antBuild \ signtool-extras.mf" в моем вызове signtool. Содержимое, которое я вставлял в «signtool-extras.mf», начиная с «+», было добавлено в выраженный signTool MANIFEST.MF.

В моем случае я добавил две строки: «+ Разрешения: все разрешения» и один идентификатор «+ Application-Name: Cris Mooney FTP Applet». Они появились в файле META-INF/MANIFEST.MF сгенерированного файла jar, и это удовлетворило текущий движок Java 1.7.0_55. Кроме того, вопреки тому, что я читал где-то еще, Java в настоящее время не жаловался на отсутствие «кодовой базы», ​​о которой я мало что знаю, но предпочел игнорировать, потому что я ожидал, что мой инструмент будет жаловаться на QA, и этого было достаточно для недокументированной боли.

Надеюсь, это поможет кому-то, и я надеюсь услышать разъяснения и поправки к моим догадкам в относительной темноте.

Примечание - мое решение было решить эти две Java 1.7.0_55 жалобы:

нет прав проявляется атрибут: URL/FTPApplet.jar

Отсутствует Application-Имя манифеста атрибут: URL/FTPpplet. jar