Включение подписи для документов.
$conf{DOCS_CERT_CMD}='xxx'; | Команда для подписи |
---|---|
$conf{DOCS_STORE_DIR}='/usr/abills/Abills/templates/Docs/'; | Каталог для сохранения файлов документов и сертификатов. При включении $conf{DOCS_CERT_CMD} файлы перестают создаваться «на лету», они после создания записываются на диск и потом повторно читаются |
Создание тестового сертификата
openssl req -newkey gost2001 -pkeyopt paramset:A -passout pass:cert_password -subj "/C=UA/ST=Kiev/L=Kiev/O=organization/CN=sample.ru/emailAddress=user@sample.com" -keyout priv.pem -out req.csr
На выходе: закрытый ключ priv.pem сертификат в файле req.csr.
Подпись сертификата:
$ openssl x509 -req -days 365 -in req.csr -signkey priv.pem -out pub.crt
Получение публичного ключа из сертификата:
$ openssl x509 -in pub.crt -pubkey -noout > pub.pem
Подпись документа в pdf :
$ openssl smime -sign -signer pub.crt -inkey priv.pem -engine gost -binary -noattr -outform DER -passin pass:cert_password -in act_1.pdf -out act_1.pdf.sig
Пример для подписи $conf{DOCS_CERT_CMD}
$conf{DOCS_CERT_CMD}="openssl smime -sign -signer /usr/abills/Certs/pub.crt -inkey /usr/abills/Certs/priv.pem -engine gost -binary -passin pass:your_password -noattr -outform DER -in %INPUT_FILE% -out %CERT_FILE%";