-
Установить пакеты gcc и pcsc-lite:
# pkg install gcc pcsc-lite
-
Скачать архив с КриптоПро CSP 4.0 R4, распаковать этот архив:
tar xvf freebsd-amd64.tgz
и установить минимальный набор пакетов КриптоПро CSP:
cd freebsd-amd64
# ./install.sh kc2
-
Установить пакет cpro-stunnel из состава дистрибутива КриптоПро CSP 4.0 R4:
# pkg install cpro-stunnel-64-4.0.9963_0.tbz
-
Добавить криптопровайдеры КриптоПро HSM в конфигурацию КриптоПро CSP:
cd /opt/cprocsp/sbin/amd64/
./cpconfig -ini '\cryptography\Defaults\Provider\Crypto-Pro HSM CSP' -add string 'Image Path' /opt/cprocsp/lib/amd64/libcspr.so
./cpconfig -ini '\cryptography\Defaults\Provider\Crypto-Pro HSM CSP' -add string 'Function Table Name' CPSRV_GetFunctionTable
./cpconfig -ini '\cryptography\Defaults\Provider\Crypto-Pro HSM CSP' -add long Type 75
./cpconfig -ini '\cryptography\Defaults\Provider\Crypto-Pro HSM CSP' -add string Channel .clientk2
./cpconfig -ini '\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 HSM CSP' -add string 'Image Path' /opt/cprocsp/lib/amd64/libcspr.so
./cpconfig -ini '\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 HSM CSP' -add string 'Function Table Name' CPSRV_GetFunctionTable
./cpconfig -ini '\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 HSM CSP' -add long Type 80
./cpconfig -ini '\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 HSM CSP' -add string Channel .clientk2
./cpconfig -ini '\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 Strong HSM CSP' -add string 'Image Path' /opt/cprocsp/lib/amd64/libcspr.so
./cpconfig -ini '\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 Strong HSM CSP' -add string 'Function Table Name' CPSRV_GetFunctionTable
./cpconfig -ini '\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 Strong HSM CSP' -add long Type 81
./cpconfig -ini '\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 Strong HSM CSP' -add string Channel .clientk2
-
Перезапустить службу cprocsp:
# /etc/rc.d/cprocsp 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 -autoprov
-
Экспортировать сертификат ключа доступа в файл:
# /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:
# ln -s /lib/libutil.so.9 /lib/libutil.so.8
# /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