Конфигурация:
Astra Linux 1.5 Special Edition (Смоленск) - Debian-based x64 + установочный диск OC КриптоПро CSP 4.0 R3 (4.0.9944) КриптоПро HSM 2.0 ключ доступа к КриптоПро HSM на Рутокен S
Последовательность необходимых действий:
Скачать архив с КриптоПро CSP 4.0 R3, распаковать этот архив:
tar xvf linux-amd64_deb.tgz
и установить минимальный набор пакетов КриптоПро CSP:
cd linux-amd64_deb # ./install.sh kc2
Установить пакеты cprocsp-stunnel, cprocsp-rdr-pcsc, cprocsp-rdr-rutoken и ifd-rutokens из состава дистрибутива КриптоПро CSP 4.0 R3:
# dpkg -i cprocsp-stunnel-64_4.0.9944-5_amd64.deb cprocsp-rdr-pcsc-64_4.0.9944-5_amd64.deb cprocsp-rdr-rutoken-64_4.0.9944-5_amd64.deb ifd-rutokens_1.0.1_amd64.deb
Вставить установочный диск ОС в привод и выполнить команды добавления репозитория на этом диске:
# apt-cdrom add # apt-get update
Установить пакеты pcscd и libccid из установочного диска ОС:
# apt-get install pcscd libccid
Добавить в конфигурационный файл /etc/opt/cprocsp/config64.ini секции криптопровайдеров КриптоПро HSM в соответсвующем разделе [Defaults\Provider]:
[Defaults\Provider\"Crypto-Pro HSM CSP"] "Image Path" = "/opt/cprocsp/lib/amd64/libcspr.so" "Function Table Name" = "CPSRV_GetFunctionTable" Type = 75 Channel = ".clientk2" [Defaults\Provider\"Crypto-Pro GOST R 34.10-2012 HSM CSP"] "Image Path" = "/opt/cprocsp/lib/amd64/libcspr.so" "Function Table Name" = "CPSRV_GetFunctionTable" Type = 80 Channel = ".clientk2" [Defaults\Provider\"Crypto-Pro GOST R 34.10-2012 Strong HSM CSP"] "Image Path" = "/opt/cprocsp/lib/amd64/libcspr.so" "Function Table Name" = "CPSRV_GetFunctionTable" Type = 81 Channel = ".clientk2"
Перезапустить службы cprocsp и pcscd:
# service cprocsp restart # service pcscd restart
Экспортировать в файл корневой сертификат КриптоПро HSM из ключевого контейнера ключа доступа:
# /opt/cprocsp/bin/amd64/csptestf -keys -cont cont_name -saveext /root/hsmroot.p7b
Имя ключевого контейнера можно вывести командой:
# /opt/cprocsp/bin/amd64/csptest -keys -enum -verifyc
Установить корневой сертификат КриптоПро HSM:
# /opt/cprocsp/bin/amd64/certmgr -inst -store root -file /root/hsmroot.p7b
Установить сертификат ключа доступа в хранилище личное с привязкой к ключевому контейнеру:
# /opt/cprocsp/bin/amd64/csptestf -absorb -certs
Экспортировать сертификат ключа доступа в файл:
# /opt/cprocsp/bin/amd64/certmgr -export -dest /root/user.cer
Создать файл /etc/opt/cprocsp/stunnel/stunnel.conf со следующим содержимым:
pid = /var/opt/cprocsp/tmp/stunnel-k2.pid output = /var/log/stunnel-k2.log socket = r:TCP_NODELAY=1 debug = 0 max_clients =25 for_hsm = yes
[clientk2] client = yes connect = 192.168.0.1:1501 accept = /var/opt/cprocsp/tmp/.clientk2 cert = /root/user.cer pincode =12345678
В данном случае IP-адрес Криптопро HSM 192.168.0.1, пин-код ключевого контейнера 12345678.
Запустить процесс stunnel_fork:
# /opt/cprocsp/sbin/amd64/stunnel_fork
Проверить доступность криптопровайдеров Криптопро HSM:
/opt/cprocsp/bin/amd64/csptest -enum -provider "Crypto-Pro HSM CSP" -provtype 75 -info /opt/cprocsp/bin/amd64/csptest -enum -provider "Crypto-Pro GOST R 34.10-2012 HSM CSP" -provtype 80 -info /opt/cprocsp/bin/amd64/csptest -enum -provider "Crypto-Pro GOST R 34.10-2012 Strong HSM CSP" -provtype 81 -info