Крипто-Про на сервере

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (21)

просмотр истории страницы
*\! ВАЖНО: для Carbon Reductor 8 Крипто-Про временно не поддерживается.*
Менее надёжный и удобный вариант чем использование экспортированного ключа, но иногда бывает так, что сделать это затруднительно.

Для полноценной работы необходимо добавить скрипт выполнения генерации подписи запроса.

В целом менее надёжный и удобный вариант чем использование экспортированного ключа, но иногда бывает так что сделать это затруднительно.

Для полноценной работы необходимо добавить три хука

{toc}

{code}

Команда для создания подписи запроса (проще тестировать подложив нужные хуки на место и запуская команду service reductor update)

{code}
#cryptcp -sign -dn <строка поиска ключа> -der -pin <pin ключа> -nochain <файл запроса (request.xml)>
{code}

Источники:


h1. Хуки
h1. Генерация запроса и его подписывание

Установить их нужно следующими командами:

Необходимо заполнить указать переменные PIN=ВАШ_ПИНКОД и KEY=СТРОКА_ПОИСКА_КЛЮЧА # например email



Создать задачу для выполнения скрипта каждый час в 23 минуты.

{code}
chroot /app/reductor/
touch /etc/cron.d/cryptopro
{code}

cd /usr/local/Reductor
# выгрузка
cp -vp contrib/examples/rkn_download.sh_with_cryptopro /cfg/userinfo/hooks/rkn_download.sh
# показ статистики в меню и вебке
cp -vp contrib/examples/show_stat.sh_with_cryptopro /cfg/userinfo/hooks/show_stat.sh
# диагностика (проверка времени работы ключа и его наличия)
cp -vp contrib/examples/diagnostic.sh_with_cryptopro /cfg/userinfo/hooks/diagnostic.sh
Открыть данный файл любым текстовым редактором и вставить туда следующее содержимое:

{code}
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

В скрипте
23 * * * * root /app/reductor/cfg/userinfo/hooks/cryptopro.sh &>>/var/log/cryptopro.log
{code}
/cfg/userinfo/hooks/rkn_download.sh
Создать скрипт подписывания запроса.

{code}
Необходимо заполнить указать переменные PIN=ВАШ_ПИНКОД и KEY=СТРОКА_ПОИСКА_КЛЮЧА # например email
touch /app/reductor/cfg/userinfo/hooks/cryptopro.sh
{code}

Открыть его любым текстовым редактором и вставить туда следующее содержимое:

{code}
#!/bin/bash

PIN="ВАШ_ПИНКОД"
KEY="СТРОКА_ПОИСКА_КЛЮЧА" # например email
REQUEST="/app/reductor/var/lib/reductor/rkn/request.xml"
SIGN="$REQUEST.sign"

chroot /app/reductor /usr/local/Reductor/reductor_container/bin/gen_request.sh || return 1
/opt/cprocsp/bin/amd64/cryptcp -sign -dn $KEY -der -pin $PIN -nochain $REQUEST $SIGN || return 2
{code}

Добавить права на исполнение скрипта:

{code}
chmod a+x /app/reductor/cfg/userinfo/hooks/cryptopro.sh
{code}

Открыть конфигурационный файл:

{code}
vim /app/reductor/cfg/config
{code}

И отключить генерацию запроса и его подписывания средствами Carbon Reductor, установив следующий флаг в "1":

{code}
autoupdate['skip_sign_request']='1'
{code}

Выполнить рестарт crond.

{code}
/etc/init.d/crond restart
{code}