Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,537 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 37 раз Поблагодарили: 501 раз в 355 постах
|
Автор: JoNy202  [!] error queue: 140B0009: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib
gost_capi не поддерживает загрузку ключа из файла. Загрузить закрытый ключ можно только через ENGINE_load_private_key(). |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 31.03.2016(UTC) Сообщений: 12  Сказал(а) «Спасибо»: 2 раз
|
Автор: pd  Автор: 4ertu  Рукопожатие отваливается на стороне сервера при использовании протокола TLSv1 на сервере и клиенте. У нас поддерживается только TLSv1. А что у вас в логах Просмотр событий -> Журналы Windows -> Приложение / Система? Нет ли там ошибок от cpsspap или Schannel? Нашел это чисто случайно, настроил Nginx по данной статье, но там нет ничего про строку Код:
[root@localhost ~]# vim /home/bitrix/nginx/conf/nginx.conf
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
В итоге https://www.cryptopro.ru/products/cpfox не хотел работать с nginx/1.9.15. Код:[root@localhost ~]# /home/bitrix/nginx/sbin/nginx -V
nginx version: nginx/1.9.15
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
built with OpenSSL 1.0.2a-fips 19 Mar 2015
TLS SNI support enabled
configure arguments: --prefix=/home/bitrix/nginx --with-http_ssl_module --with-http_gzip_static_module --add-module=nginx-push-stream-module
Убрал в настройке лишние, получилось Код:
[root@localhost ~]# vim /home/bitrix/nginx/conf/nginx.conf
ssl_protocols TLSv1;
С КриптоПро Fox v38 и v31 под винду теперь работает. И надо отрубать проверку HTTPS антифирусом аваст, иначе тоже не работает. В общем спасибо, а то уже с ума сходит начал потихоньку
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 15.04.2015(UTC) Сообщений: 23  Откуда: Moscow Сказал(а) «Спасибо»: 1 раз
|
Автор: pd  В FAQ обновили патч в вопросе: " Как настроить одновременную работу ГОСТ и RSA в nginx?" Добавлена поддержка server_name. То есть, можно использовать переключение ГОСТ или RSA на более чем одной конфигурации на порту. Здравствуйте! У меня аналогичная проблема с кучей доменов. Сконфигурил nginx.conf следующим образом: server { listen 443 ssl; server_name example.com; ........... } server { listen 443 ssl; server_name a.example.com; ........... } server { listen 127.0.0.1:443 ssl; server_name example.com; ........... } server { listen 127.0.0.1:443 ssl; server_name a.example.com; ........... } Имею картину: a.example.com по ГОСТУ не работет, т.е. второй server в конфиге. Идёт ошибка: 2016/05/17 20:02:17 [alert] 5804#5804: *16 ignoring stale global SSL error (SSL: error:140DD112:SSL routines:SSL_CERT_DUP:library bug) while SSL handshaking, client: 10.77.58.133, server: 0.0.0.0:443 Отредактировано пользователем 17 мая 2016 г. 19:29:23(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.04.2014(UTC) Сообщений: 31  Откуда: Москва Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
Автор: valery.kazantsev 
Здравствуйте! У меня аналогичная проблема с кучей доменов. Сконфигурил nginx.conf следующим образом: server { listen 443 ssl; server_name example.com; ........... }
server { listen 443 ssl; server_name a.example.com; ........... }
server { listen 127.0.0.1:443 ssl; server_name example.com; ........... }
server { listen 127.0.0.1:443 ssl; server_name a.example.com; ........... }
Имею картину: a.example.com по ГОСТУ не работет, т.е. второй server в конфиге. Идёт ошибка: 2016/05/17 20:02:17 [alert] 5804#5804: *16 ignoring stale global SSL error (SSL: error:140DD112:SSL routines:SSL_CERT_DUP:library bug) while SSL handshaking, client: 10.77.58.133, server: 0.0.0.0:443
Какая версия оpenssl? А также ОС, nginx, CSP. Попробуем воспроизвести. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 15.04.2015(UTC) Сообщений: 23  Откуда: Moscow Сказал(а) «Спасибо»: 1 раз
|
Автор: ElenaS  Автор: valery.kazantsev 
Здравствуйте! У меня аналогичная проблема с кучей доменов. Сконфигурил nginx.conf следующим образом: server { listen 443 ssl; server_name example.com; ........... }
server { listen 443 ssl; server_name a.example.com; ........... }
server { listen 127.0.0.1:443 ssl; server_name example.com; ........... }
server { listen 127.0.0.1:443 ssl; server_name a.example.com; ........... }
Имею картину: a.example.com по ГОСТУ не работет, т.е. второй server в конфиге. Идёт ошибка: 2016/05/17 20:02:17 [alert] 5804#5804: *16 ignoring stale global SSL error (SSL: error:140DD112:SSL routines:SSL_CERT_DUP:library bug) while SSL handshaking, client: 10.77.58.133, server: 0.0.0.0:443
Какая версия оpenssl? А также ОС, nginx, CSP. Попробуем воспроизвести. Код:# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
# rpm -qa | grep "nginx\|csp\|openssl"
lsb-cprocsp-kc2-64-4.0.0-4.x86_64
openssl-1.0.1e-15.el6.x86_64
lsb-cprocsp-base-4.0.0-4.noarch
lsb-cprocsp-capilite-64-4.0.0-4.x86_64
cprocsp-curl-64-4.0.0-4.x86_64
nginx-1.10.0-1.el6.rtl.x86_64
lsb-cprocsp-rdr-64-4.0.0-4.x86_64
cprocsp-cpopenssl-gost-64-4.0.0-4.x86_64
В nginx кроме switch патча ничего не добавлял, последний стабильный.  nginx-1.10.0-1.el6.rtl.x86_64.zip (1,010kb) загружен 2 раз(а).
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 15.04.2015(UTC) Сообщений: 23  Откуда: Moscow Сказал(а) «Спасибо»: 1 раз
|
Далее можно запускать nginx с конфигом /etc/nginx/conf.d/ssl.conf следующего содержания: Код:### GOST
server {
listen 443 ssl;
server_name example.ru;
access_log /var/log/nginx/gost_access.log main;
ssl_certificate /etc/nginx/example.ru.cer;
ssl_certificate_key engine:gost_capi:example.ru;
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 /usr/share/nginx/html;
index index.html index.htm;
}
}
server {
listen 443 ssl;
server_name a.example.ru;
access_log /var/log/nginx/gost_a_access.log main;
ssl_certificate /etc/nginx/example.ru.cer;
ssl_certificate_key engine:gost_capi:example.ru;
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 /usr/share/nginx/html2;
index index.html index.htm;
}
}
### RSA
server {
listen 127.0.0.1:443 ssl;
server_name example.ru;
access_log /var/log/nginx/rsa_access.log main;
ssl_certificate /etc/nginx/RBC_HC_Wildcard_Certificate.crt;
ssl_certificate_key /etc/nginx/server-rsa.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
server {
listen 127.0.0.1:443 ssl;
server_name a.example.ru;
access_log /var/log/nginx/rsa_a_access.log main;
ssl_certificate /etc/nginx/RBC_HC_Wildcard_Certificate.crt;
ssl_certificate_key /etc/nginx/server-rsa.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html2;
index index.html index.htm;
}
}
И a.example.ru не работает по ГОСТу, собственно из дампа видно, что сервер отказывается: Код:# ssldump -i eth0
New TCP connection #1: 10.77.58.133(49384) <-> 10.77.59.34(443)
1 1 0.0016 (0.0016) C>S Handshake
ClientHello
Version 3.3
cipher suites
Unknown value 0x81
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_MD5
compression methods
NULL
1 2 0.0020 (0.0003) S>C Handshake
ServerHello
Version 3.1
session_id[32]=
d8 4f ee 84 b7 65 fd e5 27 56 ca fe ca d2 8b d0
75 77 ca c3 f4 da a9 df ec f3 e3 7b db 0e 84 f1
cipherSuite Unknown value 0x81
compressionMethod NULL
1 3 0.0021 (0.0001) S>C Handshake
Certificate
1 4 0.0021 (0.0000) S>C Handshake
ServerHelloDone
1 0.0024 (0.0002) S>C TCP FIN
1 5 0.0076 (0.0051) C>S Handshake
ClientKeyExchange
1 6 0.0076 (0.0000) C>S ChangeCipherSpec
1 7 0.0076 (0.0000) C>S Handshake
1 0.0076 (0.0000) C>S TCP FIN
New TCP connection #2: 10.77.58.133(49385) <-> 10.77.59.34(443)
2 1 0.0004 (0.0004) C>S Handshake
ClientHello
Version 3.1
cipher suites
Unknown value 0x81
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_MD5
compression methods
NULL
2 2 0.0008 (0.0004) S>C Handshake
ServerHello
Version 3.1
session_id[32]=
52 ec 15 ac 53 32 c1 d9 6b 4c ac 6a c4 1c e5 19
58 e2 f6 4a 1a bd 00 51 bf 56 75 24 68 1e 07 b9
cipherSuite Unknown value 0x81
compressionMethod NULL
2 3 0.0009 (0.0000) S>C Handshake
Certificate
2 4 0.0009 (0.0000) S>C Handshake
ServerHelloDone
2 0.0012 (0.0003) S>C TCP FIN
2 5 0.0063 (0.0050) C>S Handshake
ClientKeyExchange
2 6 0.0063 (0.0000) C>S ChangeCipherSpec
2 7 0.0063 (0.0000) C>S Handshake
2 0.0063 (0.0000) C>S TCP FIN
New TCP connection #3: 10.77.58.133(49386) <-> 10.77.59.34(443)
3 1 0.0018 (0.0018) C>S Handshake
ClientHello
Version 3.0
cipher suites
SSL_RSA_WITH_3DES_EDE_CBC_SHA
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
SSL_RSA_WITH_RC4_128_SHA
SSL_RSA_WITH_RC4_128_MD5
SSL_EMPTY_RENEGOTIATION_INFO_SCSV
compression methods
NULL
3 2 0.0024 (0.0006) S>C Alert
level fatal
value handshake_failure
3 0.0025 (0.0001) S>C TCP FIN
3 0.0030 (0.0004) C>S TCP FIN
New TCP connection #4: 10.77.58.133(49387) <-> 10.77.59.34(443)
4 0.0002 (0.0002) C>S TCP FIN
4 0.0004 (0.0001) S>C TCP FIN
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,537 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 37 раз Поблагодарили: 501 раз в 355 постах
|
Автор: valery.kazantsev  И a.example.ru не работает по ГОСТу, собственно из дампа видно, что сервер отказывается Сейчас проверяем наш патч одновременной работы ГОСТ и RSA на nginx 1.10.0. Основной функционал проверили, а этот, опциональный, руки не дошли. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 15.04.2015(UTC) Сообщений: 23  Откуда: Moscow Сказал(а) «Спасибо»: 1 раз
|
На самом деле выйти из ситуации можно при помощи манипуляций с TCP proxy. При условии что у нас на интерфейсе прикручено несколько IP для нескольких доменов, доступных по HTTPS, в данном примере IP 10.0.0.5 и 10.0.0.6. В /etc/nginx/nginx.conf добавляем: Код:
stream {
server {
listen 10.0.0.5:443;
proxy_pass 10.0.0.5:4431;
}
server {
listen 10.0.0.6:443;
proxy_pass 10.0.0.6:4432;
}
}
Затем меняем содержимое /etc/nginx/conf.d/ssl.conf: Код:### GOST
server {
listen 4431 ssl;
server_name example.ru;
access_log /var/log/nginx/gost_access.log main;
ssl_certificate /etc/nginx/example.ru.cer;
ssl_certificate_key engine:gost_capi:example.ru;
...
}
server {
listen 4432 ssl;
server_name a.example.ru;
access_log /var/log/nginx/gost_a_access.log main;
ssl_certificate /etc/nginx/example.ru.cer;
ssl_certificate_key engine:gost_capi:example.ru;
...
}
### RSA
server {
listen 127.0.0.1:4431 ssl;
server_name example.ru;
access_log /var/log/nginx/rsa_access.log main;
ssl_certificate /etc/nginx/RBC_HC_Wildcard_Certificate.crt;
ssl_certificate_key /etc/nginx/server-rsa.key;
...
}
server {
listen 127.0.0.1:4432 ssl;
server_name a.example.ru;
access_log /var/log/nginx/rsa_a_access.log main;
ssl_certificate /etc/nginx/RBC_HC_Wildcard_Certificate.crt;
ssl_certificate_key /etc/nginx/server-rsa.key;
...
}
И получаем желаемый результат с разделением по servers. Отредактировано пользователем 18 мая 2016 г. 12:37:45(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,537 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 37 раз Поблагодарили: 501 раз в 355 постах
|
Проверили работу нашего патча одновременной работы ГОСТ и RSA (GOST_SWitchPatch) на nginx 1.10.0, ничего не изменилось, работает согласно документации. Наиболее вероятно, что вы не поставили данный патч на nginx. Автор: valery.kazantsev  Идёт ошибка: 2016/05/17 20:02:17 [alert] 5804#5804: *16 ignoring stale global SSL error (SSL: error:140DD112:SSL routines:SSL_CERT_DUP:library bug) while SSL handshaking, client: 10.77.58.133, server: 0.0.0.0:443
Напоминаем, что данная запись в логе не является ошибкой, а лишь свидетельствует об использовании старой версии openssl, подробнее здесь: https://www.cryptopro.ru...ts&m=56295#post56295Update: Кому лень патчить, сделали форк nginx с нашим патчем: https://github.com/deemru/nginx/Отредактировано пользователем 27 мая 2016 г. 13:09:46(UTC)
| Причина: fork |
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,537 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 37 раз Поблагодарили: 501 раз в 355 постах
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close