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

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

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

просмотр истории страницы
От*\! ВАЖНО: для Carbon Reductor 8 Крипто-Про временно не поддерживается.\*


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

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

{toc}
{code}

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

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

Источники:


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

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

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

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}

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

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

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

{code}
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/app/base/usr/local/bin:/app/base/usr/local/sbin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
{code}

Открыть "/app/reductor/cfg/userinfo/hooks/cryptopro.sh" любым текстовым редактором и вставить туда следующее содержимое
Создать скрипт подписывания запроса.

{code}
touch /app/reductor/cfg/userinfo/hooks/cryptopro.sh
{code}

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

{code}
#!/bin/bash

SIGN="$REQUEST.sign"

chroot /app/reductor /usr/local/Reductor/reductor_container/bin/gen_request.shh || 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}