Требуется: - JRE или JDK с Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files (тестировалось с OpenJDK 1.6 и 1.7); - BouncyCastle версии не ниже 1.50 (тестировалось с 1.54); - itextpdf-5.5.9.jar (патченный для поддержки ГОСТ) или новее; - make (подойдут и bmake, и gmake). В Makefile поправить путь к jar-файлам BouncyCastle с /usr/local/share/java/classes/ на тот, по которому они установлены в вашей системе. Можно удалить путь совсем, если скопировать bcprov.jar и bcpkix.jar в рабочий каталог. Первый пункт одноразовый. 1) Компиляция: make 2) Подписывание документа: make sign По умолчанию, документ берется из файла document.pdf, подписанная копия именуется signed.pdf. Эти умолчания можно поменять в Makefile или в командной строке: make sign SRC=mydoc.pdf SIGNED=mydoc-signed.pdf Таким же образом задаются параметры CERT - имя файла PKCS#12 и PASS - пароль к нему. Кроме того, при подписывании задаются параметры "Причина", "Расположение" и "Контактные данные", умолчания для которых также задаются в Makefile или в командной строке: make sign SRC=1.pdf SIGNED=2.pdf REASON="Меня заставили" \ LOCATION="Малая Арнаутская" CONTACT="Фунт" Текст должен быть в кодировке UTF-8. Каждый из этих трех параметров может быть пустой строкой. Параметры командной строки переопределяют умолчания, прописанные в Makefile. Все названия файлов можно писать с путями. Если пути не указаны, то запускать make из рабочего каталога с файлами или указывать путь к этому каталогу стандартным ключом: make -C /path/to/workdir ...