И еще проблема появилась.
Необходимо к хосту с nginx ГОСТ (настроенному по инструкции в этой теме), с другой машины устанавливать HTTPS соединение из приложения на net core (HttpClient). Если использовать сертификат RSA - проблем нет, связь есть. При попытке подключиться к ГОСТовой машине выдается:
root@srvuappdev:/var/www/app# /opt/core/ASP.NET_Core_Runtime3.1.8/dotnet /var/www/app/app.dll
*** Error in `/opt/core/ASP.NET_Core_Runtime3.1.8/dotnet': double free or corruption (fasttop): 0x00007b6f2008cf60 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x70bfb)[0x7b74188f0bfb]
/lib/x86_64-linux-gnu/libc.so.6(+0x76fc6)[0x7b74188f6fc6]
/lib/x86_64-linux-gnu/libc.so.6(+0x7780e)[0x7b74188f780e]
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1(EVP_MD_CTX_reset+0x89)[0x7b6f44caad39]
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1(EVP_MD_CTX_free+0x9)[0x7b6f44caada9]
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1(EVP_DigestSignFinal+0x115)[0x7b6f44cbea75]
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1(+0x18756d)[0x7b6f44cc756d]
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1(+0x1877e5)[0x7b6f44cc77e5]
/usr/lib/x86_64-linux-gnu/libssl.so.1.1(+0x5f465)[0x7b6f45087465]
/usr/lib/x86_64-linux-gnu/libssl.so.1.1(+0x60179)[0x7b6f45088179]
/usr/lib/x86_64-linux-gnu/libssl.so.1.1(+0x2bf0f)[0x7b6f45053f0f]
/usr/lib/x86_64-linux-gnu/libssl.so.1.1(+0x513a2)[0x7b6f450793a2]
/usr/lib/x86_64-linux-gnu/libssl.so.1.1(+0x51515)[0x7b6f45079515]
/usr/lib/x86_64-linux-gnu/libssl.so.1.1(+0x4bd7d)[0x7b6f45073d7d]
/usr/lib/x86_64-linux-gnu/libssl.so.1.1(SSL_do_handshake+0x54)[0x7b6f45060784]
[0x7b73a29ec4f6]
======= Memory map: ========
00400000-00411000 r-xp 00000000 08:02 925910 /opt/core/ASP.NET_Core_Runtime3.1.8/dotnet
00610000-00611000 r--p 00010000 08:02 925910 /opt/core/ASP.NET_Core_Runtime3.1.8/dotnet
00611000-00612000 rw-p 00011000 08:02 925910 /opt/core/ASP.NET_Core_Runtime3.1.8/dotnet
00996000-00d36000 rw-p 00000000 00:00 0 [heap]
7b6f08000000-7b6f08021000 rw-p 00000000 00:00 0
...
7b6f448f0000-7b6f4493e000 r-xp 00000000 08:02 684272 /usr/lib/x86_64-linux-gnu/engines-1.1/gost-astra.so
7b6f4493e000-7b6f44b3d000 ---p 0004e000 08:02 684272 /usr/lib/x86_64-linux-gnu/engines-1.1/gost-astra.so
7b6f44b3d000-7b6f44b3e000 r--p 0004d000 08:02 684272 /usr/lib/x86_64-linux-gnu/engines-1.1/gost-astra.so
7b6f44b3e000-7b6f44b40000 rw-p 0004e000 08:02 684272 /usr/lib/x86_64-linux-gnu/engines-1.1/gost-astra.so
7b6f44b40000-7b6f44df1000 r-xp 00000000 08:02 666741 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
7b6f44df1000-7b6f44ff1000 ---p 002b1000 08:02 666741 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
7b6f44ff1000-7b6f45021000 r--p 002b1000 08:02 666741 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
7b6f45021000-7b6f45023000 rw-p 002e1000 08:02 666741 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
7b6f45023000-7b6f45027000 rw-p 00000000 00:00 0
7b6f45028000-7b6f450aa000 r-xp 00000000 08:02 666742 /usr/lib/x86_64-linux-gnu/libssl.so.1.1
7b6f450aa000-7b6f452aa000 ---p 00082000 08:02 666742 /usr/lib/x86_64-linux-gnu/libssl.so.1.1
7b6f452aa000-7b6f452b3000 r--p 00082000 08:02 666742 /usr/lib/x86_64-linux-gnu/libssl.so.1.1
7b6f452b3000-7b6f452b7000 rw-p 0008b000 08:02 666742 /usr/lib/x86_64-linux-gnu/libssl.so.1.1
7b73a026a000-7b73a0270000 ---p 00000000 00:00 0 Аварийный останов
Если же такого клиента запускать с той же машины, на которой установлен nginx ГОСТ, нет никаких проблем.
На другой машине (Linux, на которой проблема) установил сертифицированную версию Крипто Про CSP 5. Не помогло.
Если запускать клиента с машины ОС Windows с установленным Крипто Про, то тоже нет проблем.
На проблемной машине запускаю браузер Chromium Gost, обращась по https к машине nginx GOST. Все хорошо, даже к сертификату ГОСТ доверие есть.
Я так понимаю, проблемная машина-клиент видит шифрование ГОСТ и пытается работать через engine gost-astra.so? Почему тогда хромиум ГОСТ работает? Или он не обращается к Крипто Про?
PS: Решено. На проблемной машине необходимо было доустановить пакеты (gostengy):
dpkg -i cprocsp-cpopenssl-110-base_5.0.11455-5_all.deb
dpkg -i cprocsp-cpopenssl-110-64_5.0.11455-5_amd64.deb
Проект запустился, однако, при вводе openssl теперь выдается:
openssl: /opt/cprocsp/cp-openssl-1.1.0/lib/amd64/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by openssl)
openssl: /opt/cprocsp/cp-openssl-1.1.0/lib/amd64/libcrypto.so.1.1: version `OPENSSL_1_1_1' not found (required by openssl)
Отредактировано пользователем 7 декабря 2020 г. 13:01:57(UTC)
| Причина: Решение