Форум КриптоПро
»
Средства криптографической защиты информации
»
Linux, Solaris etc.
»
Инструкция по установке Ubuntu 16.04 (x64) + КриптоПро CSP + gost_capi + nginx
Статус: Участник
Группы: Участники
Зарегистрирован: 07.12.2016(UTC) Сообщений: 11 Сказал(а) «Спасибо»: 4 раз Поблагодарили: 3 раз в 1 постах
|
Инструкция по установке КриптоПро CSPЗдесь для CSP 4.0R2Здесь для CSP 3.9R2Инструкция по установке gost_capi1. Cкачать именно этот gost_capi_20161020.zip2. Распаковать и установить через alien, а не dpkg Код:cd ~/Downloads
unzip gost_capi_20161020.zip
cd gost_capi_20161020
sudo alien -kci cprocsp-cpopenssl-gost-64-4.0.0-4.x86_64.rpm
Код:dpkg --no-force-overwrite -i cprocsp-cpopenssl-gost-64_4.0.0-4_amd64.deb
Selecting previously unselected package cprocsp-cpopenssl-gost-64.
(Reading database ... 313102 files and directories currently installed.)
Preparing to unpack cprocsp-cpopenssl-gost-64_4.0.0-4_amd64.deb ...
Unpacking cprocsp-cpopenssl-gost-64 (4.0.0-4) ...
Setting up cprocsp-cpopenssl-gost-64 (4.0.0-4) ...
Warning, /var/opt/cprocsp/cp-openssl/openssl.cnf doesn't exist
Processing triggers for libc-bin (2.23-0ubuntu4) ...
Инструкция по настройке openssl1. В файл openssl.conf после строки old_section = new_oids добавить Код:sudo vim /usr/lib/ssl/openssl.cnf
Код:openssl_conf = openssl_def
[openssl_def]
engines = engine_section
[engine_section]
gost_capi = gost_section
[gost_section]
engine_id = gost_capi
dynamic_path = /opt/cprocsp/cp-openssl/lib/amd64/engines/libgost_capi.so
default_algorithms = CIPHERS, DIGESTS, PKEY, PKEY_CRYPTO, PKEY_ASN1
Проверить корректность установки можно выполнив команду: В результате должен быть выведен engine (gost_capi), как показано ниже: Код:(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
(gost_capi) CryptoPro ENGINE GOST CAPI ($Revision: 147098 $)
Проверить возможность подписи с помощью gost_capi можно проверить командой: Код:openssl cms -sign -engine gost_capi -keyform ENGINE -inkey "localhost" -in "test" -out "test.cms" -outform PEM -CAfile certificate.pem -nodetach -signer certificate.pem
В результате должен получиться файл test.cms
Код:-----BEGIN CMS-----
MIIFuAYJKoZIhvcNAQcCoIIFqTCCBaUCAQExDDAKBgYqhQMCAgkFADAVBgkqhkiG
9w0BBwGgCAQGdGVzdA0KoIIDfjCCA3owggMpoAMCAQICExIAF8IJ1rWrxRUlq5sA
AAAXwgkwCAYGKoUDAgIDMH8xIzAhBgkqhkiG9w0BCQEWFHN1cHBvcnRAY3J5cHRv
cHJvLnJ1MQswCQYDVQQGEwJSVTEPMA0GA1UEBxMGTW9zY293MRcwFQYDVQQKEw5D
UllQVE8tUFJPIExMQzEhMB8GA1UEAxMYQ1JZUFRPLVBSTyBUZXN0IENlbnRlciAy
MB4XDTE2MTIwODEzNDk0N1oXDTE3MDMwODEzNTk0N1owgYcxHTAbBgkqhkiG9w0B
CQEWDmluZm9AbG9jYWxob3N0MRIwEAYDVQQDDAlsb2NhbGhvc3QxDjAMBgNVBAsM
BXN1cGVyMQwwCgYDVQQKDANhdmsxDzANBgNVBAcMBk1vc2NvdzEWMBQGA1UECAwN
TW9zY293IFJlZ2lvbjELMAkGA1UEBhMCUlUwYzAcBgYqhQMCAhMwEgYHKoUDAgIk
AAYHKoUDAgIeAQNDAARAQyRvMniUKyXwa3wlHzWP0RUHVfKu7iRkSqLtBpnxSDt9
fgf9tHNQYxAqGUzMJJVTn28t4W/36tYJR+V0y2Xyj6OCAXEwggFtMA8GA1UdDwEB
/wQFAwMH8AAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYEFF8/+ksFbPNy
fOz4M9lcfVoV6MAuMB8GA1UdIwQYMBaAFBUxfLCNGt5m1xWcSVKXFyS5AXqDMFkG
A1UdHwRSMFAwTqBMoEqGSGh0dHA6Ly90ZXN0Y2EuY3J5cHRvcHJvLnJ1L0NlcnRF
bnJvbGwvQ1JZUFRPLVBSTyUyMFRlc3QlMjBDZW50ZXIlMjAyLmNybDCBqQYIKwYB
BQUHAQEEgZwwgZkwYQYIKwYBBQUHMAKGVWh0dHA6Ly90ZXN0Y2EuY3J5cHRvcHJv
LnJ1L0NlcnRFbnJvbGwvdGVzdC1jYS0yMDE0X0NSWVBUTy1QUk8lMjBUZXN0JTIw
Q2VudGVyJTIwMi5jcnQwNAYIKwYBBQUHMAGGKGh0dHA6Ly90ZXN0Y2EuY3J5cHRv
cHJvLnJ1L29jc3Avb2NzcC5zcmYwCAYGKoUDAgIDA0EAPUXVNWCJ5pg0c2qbKbTd
+8ZpABeIuATmB/ulehmwT/qCTgHVvILCxZbWPuJryvJHULoCgVSoG+BZJopK1lrI
zjGCAfcwggHzAgEBMIGWMH8xIzAhBgkqhkiG9w0BCQEWFHN1cHBvcnRAY3J5cHRv
cHJvLnJ1MQswCQYDVQQGEwJSVTEPMA0GA1UEBxMGTW9zY293MRcwFQYDVQQKEw5D
UllQVE8tUFJPIExMQzEhMB8GA1UEAxMYQ1JZUFRPLVBSTyBUZXN0IENlbnRlciAy
AhMSABfCCda1q8UVJaubAAAAF8IJMAoGBiqFAwICCQUAoIH6MBgGCSqGSIb3DQEJ
AzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE2MTIwOTE0MDEzNVowLwYJ
KoZIhvcNAQkEMSIEIOK63fshf4oKuACkBi+bGt3Iqu9l1KkyImSg4s/My1sSMIGO
BgkqhkiG9w0BCQ8xgYAwfjALBglghkgBZQMEASowCAYGKoUDAgIJMAgGBiqFAwIC
FTALBglghkgBZQMEARYwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3
DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDAK
BgYqhQMCAhMFAARAb1BKl8KG0dUVxfUf/nt5vVbjEdxJCd197JmILZIh/vkwqDdb
L0+4TsjY0W4xjMsNgS777VqOOw9diD66i63S9A==
-----END CMS-----
Инструкция по установке nginx1. Качаем и устанавливаем официальную патченную версию nginx отсюда выполнением команд ниже: Код:cd ~/Downloads
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
tar -zxf pcre-8.39.tar.gz
cd pcre-8.39
./configure
make
sudo make install
cd ..
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
sudo make install
cd ..
sudo apt install libssl-dev
git clone https://github.com/deemru/nginx.git
cd nginx
./auto/configure --prefix=/opt/nginx --sbin-path=bin/nginx --conf-path=conf/nginx.conf --pid-path=logs/nginx.pid --error-log-path=logs/error.log --http-log-path=logs/access.log --with-http_ssl_module --with-pcre=../pcre-8.39 --with-zlib=../zlib-1.2.8
make
sudo make install
2. Настраиваем nginx В файле nginx.conf Код:sudo vim /opt/nginx/conf/nginx.conf
Заменяем содержимое на: Код:worker_processes 1;
user root root;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
client_body_temp_path /tmp/nginx_client_body;
proxy_temp_path /tmp/nginx_proxy;
fastcgi_temp_path /tmp/nginx_fastcgi;
scgi_temp_path /tmp/nginx_scgi;
uwsgi_temp_path /tmp/nginx_uwsgi;
server {
listen 4343 ssl;
server_name localhost;
ssl_certificate /home/pashkinmv/Downloads/certificate.pem;
ssl_certificate_key engine:gost_capi:localhost;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1;
ssl_ciphers HIGH:MEDIUM:+GOST2001-GOST89;
ssl_prefer_server_ciphers on;
location / {
root /opt/nginx/html;
index index.html index.htm;
}
}
}
И запускаем сервер: Код:sudo /opt/nginx/bin/nginx
Заходить на сайт можно только с браузера Crypto Pro Fox или IE с установленными CSP и Browser Plugin Отредактировано пользователем 16 декабря 2016 г. 15:54:12(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 12.01.2017(UTC) Сообщений: 5
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 4 раз в 2 постах
|
Небольшое дополнение от нас -- с чем столкнулись при развертывании. 1) У нас в сертификате в CN (имени сертификата) указаны русские слова с пробелами и кавычками (изменить по тем или иным причинам нельзя): Код:root@XXX:/opt/cprocsp/bin/amd64# ./certmgr -list
Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores
=============================================================================
1-------
Issuer : OGRN=xxxxxxxxx, INN=xxxxxxxxxx, STREET=ул. xxxxxxxxxxxxxx д. xx А, E=xxxxxxxxxxxx, C=RU, S=xx xxxxxxxxxxxxxx, L=xxxxxxxx, O=xxxxx, CN=xxxx xxx xxx
Subject : OGRN=xxxxxxxxx, INN=xxxxxxxxxx, E=xxxxxxxxxxxxx, C=RU, S=xx x, L=xxxx,xxxxxxxxx O="ГАУ РК ""xxxxxxxxxx""", CN="Государственное автономное учреждение xxxxxxxxxxxxxx ""xxxxxxxxxxxxxxxxxxxxxxxxx""", STREET=ул. xxxxxxxxxxxxxx д. xxxxx
Serial : 0xxxxxxxxxxxxxxxxxxxxxxxxxxxx
SHA1 Hash : 0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SubjKeyID : ce4fbc314696xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Not valid before : 14/12/2016 10:52:00 UTC
Not valid after : 14/12/2017 11:02:00 UTC
PrivateKey Link : Yes. Container : HDIMAGE\\gostrgw.000\5BA6
=============================================================================
Как только не пытались указать название сертификата в директиве ssl_certificate_key engine:gost_capi: -- экранировали пробелы, кавычки, попробовали все (в том числе разными способами написать имя контейнера закрытого ключа). nginx при запуске ругался, что не может найти закрытый ключ: Код:
nginx: [emerg] ENGINE_load_private_key("KEYNAMEHERE") failed (SSL: error:26096080:engine routines:ENGINE_load_private_key:failed loading private key)
Решили проблему, когда указали только первое слово из CN: Код:
ssl_certificate /etc/nginx/ssl/gost_gw.cer;
ssl_certificate_key engine:gost_capi:Государственное;
2) В клиентах с КриптоПРО CSP 4x при каждом открытии сайта по gost https на nginx в Internet Explorer показывалось окно-ошибка "Обнаружена критическая ошибка, компьютер будет перезагружен". И через минуту компьютер перезагружался. При этом после этой ошибки до перезагрузки ни один https-сайт не открывался. На КриптоПРО 3.6, 3.9, ViPNet CSP такого не наблюдадось. Причиной оказалось то, что мы сами в конфигурации nginx указали лишние версии протокола TLS: TLSv1 TLSv1.1 TLSv1.2. Правильно указалось ограничить протоколы только версией TLSv1 - именно как указано в конфигурации топикстартера: Проблему выявили проанализировав вывод для openssl s_client -host xxx -port xxx нерабочего сервера на nginx и рабочего на винде -- у нас еще был стенд с WinSrv+CryptoPro+IIS -- там выдавалось только TLS 1.0, а на nginx клиент договаривался о протоколе версии 1.2.
|
1 пользователь поблагодарил ivan-zhilin за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.03.2017(UTC) Сообщений: 1
|
Добрый день! Если задача ставится так: использовать сертификаты "КриптоПро CSP", как серверный, так и клиентский для авторизации и защиты соединения HTTPS? Тогда конфигурация nginx должна содержать подобные строки: Код:
ssl_client_certificate /etc/nginx/cert/cp_ca.pem;
ssl_verify_client on;
На практике получается, что запрос клиентского сертификата приводит к обрыву соединения. (Причем, я пробовал поднять это и под майкрософтовским IIS с таким же результатом) Есть ли решение, в котором nginx получает и проверяет сертификат клиента и передает его параметры дальше: Код:
fastcgi_param SSL_CLIENT_CERT $ssl_client_cert;
Еще один вопрос вне рамок темы форума. Почему IE открывает страницу и она отображается, имею соединение на сертификате сервера, полученном через Тестовый УЦ. А другие броузеры, в т.ч. CPFox - выдают ряд претензий вида "SSL_ERROR_NO_CYPHER_OVERLAP", "ERR_SSL_PROTOCOL_ERROR"?
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
Linux, Solaris etc.
»
Инструкция по установке Ubuntu 16.04 (x64) + КриптоПро CSP + gost_capi + nginx
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close