muzi, Добрый день. Ниже подробная инструкция:
Скачать Rutoken SDK https://www.rutoken.ru/support/download/get/sdk.html
Распаковать архив.
Скопировать содержимое папки sdk\openssl\bin\1.1\openssl-tool-1.1\linux_glibc-x86_64 в папку sdk\openssl\samples\tool
Скопировать содержимое папки sdk\openssl\bin\1.1\rtengine-1.1\linux_glibc-x86_64 в папку sdk\openssl\samples\tool
Скопировать содержимое папки sdk\pkcs11\lib\linux_glibc-x86_64 в папку sdk\openssl\samples\tool
В файле sdk\openssl\samples\tool\openssl.cnf поменять путь до библиотек librtengine.so и librtpkcs11ecp.so (./librtengine.so, ./librtpkcs11ecp.so)
Открыть консоль в папке sdk\openssl\samples\tool\
Выполнить экспорт конфигурации openssl:
export OPENSSL_CONF=./openssl.cnf
Сгенерировать ключевую пару на токене для сервера:
pkcs11-tool --module ./librtpkcs11ecp.so --login --pin 12345678 --keypairgen --key-type GOSTR3410-2012-256:B --id 3132 --usage-derive
Создать запрос на сертификат сервера:
openssl req -utf8 -new -keyform engine -key "pkcs11:manufacturer=Aktiv%20Co.;model=Rutoken%20ECP;id=12" -engine rtengine -out req_srv.csr
Создать сертификат сервера:
openssl ca -batch -in req_srv.csr -out serv.cer
Сгенерировать ключевую пару клиента:
pkcs11-tool --module ./librtpkcs11ecp.so --login --pin 12345678 --keypairgen --key-type GOSTR3410-2012-256:B --id 3233 --usage-derive
Создать запрос на сертификат клиента:
openssl req -utf8 -new -keyform engine -key "pkcs11:manufacturer=Aktiv%20Co.;model=Rutoken%20ECP;id=23" -engine rtengine -out req_cli.csr
Создать сертификат клиента:
openssl ca -batch -in req_cli.csr -out client.cer
Запустить сервер:
openssl s_server -keyform engine -key "pkcs11:manufacturer=Aktiv%20Co.;model=Rutoken%20ECP;id=12" -engine rtengine -cert serv.cer -Verify 7 -CAfile ./demoCA/cacert.pem -accept 44330 -WWW -purpose any -4
Открыть еще одну консоль в папке sdk\openssl\samples\tool\
Выполнить экспорт конфигурации openssl:
export OPENSSL_CONF=./openssl.cnf
Запустить клиент:
openssl s_client -host 127.0.0.1 -port 44330 -cert client.cer -keyform engine -key "pkcs11:manufacturer=Aktiv%20Co.;model=Rutoken%20ECP;id=23" -engine rtengine