2010-05-06 5 views

ответ

0

По-видимому, ответ: «Разработчики могут подписывать JAR-файлы в цифровой форме. В этом случае информация подписи становится частью файла манифеста». (http://en.wikipedia.org/wiki/JAR_%28file_format%29)

3

Практически. На самом деле это не файл JAR, который подписан, но его содержимое.

Технически отдельные файлы в архиве JAR, которые должны быть подписаны, хэшируются с помощью подходящей хеш-функции (например, SHA-1). Значение хэша указано в манифесте. Затем добавляется дополнительный файл (файл *.SF) в каталоге META-INF/; этот файл содержит записи для каждого из подписанных файлов: каждая запись содержит хэш соответствующей записи в манифесте (так это более или менее хэш хэша). *.SF также содержит запись, содержащую хэш основных заголовков в манифесте. Наконец, файл *.SF сам подписывается, в результате получается файл или *.DSA (сам по себе в каталоге META-INF/), который следует за форматом CMS (ранее называемым «PKCS # 7»). CMS опирается на все атрибуты сертификатов X.509.

Так что это довольно косвенно. Следует понимать, что подписываются только отдельные файлы в JAR; в данном файле JAR может быть смесь подписанных и неподписанных частей.