LINUX.ORG.RU

Включение TLS 1.2 для wine

 , , ,


0

1

На сервере нужно под wine держать запущенную программку, после обновления программки поменяли безопасность и теперь она не рабоает.

Программка написана на .NET Framework 3.5 нормально работает только в wine 4.0 (Windows XP). До обновления программки она подключалась по TLS 1.0 к заморским серверам и все нормально работало, после обновления оставили только протокол TLS 1.2, но он не работает нормально под wine.

В реестре сделаны настройки, которые не помогают. Вываливает ошибку:

The specified value is not valid in the 'SslProtocolType' enumeration

Вопрос что еще сделать чтобы заработал TLS 1.2 для .NET Framework?

Вот данные из реестра:

[HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v2.0.50727]
"SchUseStrongCrypto"=dword:00000001
"SystemDefaultTlsVersions"=dword:00000001

[HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
"SystemDefaultTlsVersions"=dword:00000001


[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.0\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"SecureProtocols"=dword:00000a00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000a00


Ответ на: комментарий от AnastasiaM

Ну тогда со staging патчами стоит попробовать. Или собрать самостоятельно. У меня то в Gentoo 5-я ветка прекрасно работает с программой изучения языков для 2000-й винды. А в wayland сессии даже не снижает разрешение до 800х600.

anonymous ()
Ответ на: комментарий от anonymous

Staging версии почти все перепробовала, ничего не работает. Только стабильная версия 4.0 работает нормально. Для меня это большая загадка почему это происходит. Есть подозрение что программисты моей програмулины очень криворукие и работает это все только на 4.0.

Может есть возможности как-то доустановить в wine 4.0 какие-то модули или плагины для поддержки TLS 1.2?

AnastasiaM ()
Ответ на: комментарий от AnastasiaM

Не думаю. Может попробовать на 5-й завести с другими версиями дотнетов или установить виндовые версии. Возможно нужно как-то специфически запускать. По аналогии с играми, которым нужны специфические параметры как это в playonlinux происходит можно попробовать программе что-то указать.

anonymous ()
Ответ на: комментарий от anonymous

.NET нужны только от windows, mono не подходит, все эти версии от windows стоят, но возможно нужно доставить какие-то апдейты, но где и как их правильно поставить под wine я просто незнаю. Простого менеджера обновлений как на windows под wine нету. Если знаешь подскажи как установить апдейты под wine.

То что програму нужно запускать особым образом это верно, ей нужно только библиотеки от windows и встроенные от wine или mono не подходят. Я протестировала другие программы и мне кажется что в самом wine нет TLS 1.2. Вопрос как туда это добавить? Кто вообще отвечает за TLS под wine?

AnastasiaM ()
Ответ на: комментарий от AnastasiaM

У меня нет такой программы чтобы знать точно. А специфический запуск это как в линуксе GDK_BACKEND=x11 lowriter будет строка запуска под вейландом, чтобы либреофис запустился под xwayland и имел тот же буфер, что и у других программ. Чтобы например переводить тексты с использованием электронных словарей навроде goldendict. А иначе можно тыкать сколько угодно слово, а вейланд версич так и не отошлет ничего пока мышкой до словаря не доехпть чтобы снова дважды скопировать в буфер текст для перевода. И playonlinux, равно как и proton от вальвы используют вот эти самые команды. Если поискать можно найти по аналогии то, чего не хватает.

anonymous ()
Ответ на: комментарий от AnastasiaM

Tls скорее всего зависит от самой программы. Если она привязана к OpenSSL или LibreSSL, то может и получится в настройках включить 1.3. Но скорее всего надо будет иметь программу умеющую в TLS 1.3. В браузерах включается отдельно. А сама программа может иметь дистроспкцифичные проблемы и может нормально работать на другом дистрибутиве. Если это какой нибудь центос, то попробовать стоит на дебиане, Void musl или собрать wine из исходников.

anonymous ()

Wine поддерживает TLS 1.2 и 1.3 с помощью gnutls. Он (gnutls) установлен в системе? Если программа 32-битная, то должен быть установлен 32-битный.

Kron4ek ★★★★ ()
Ответ на: комментарий от MaxPower

iexplore очень глючит и часть сайтов не открывает вообще. Открыть ssl test не могу.

TLS жестко прописан внутри программы и он там записан только TLS 1.2. и это точно 1.2 а не 1.1, Я проверяла сервер куда подключается программа и сервер принимает только TLS 1.2.

gnutls в системе стоит но к нему похоже не обращаются т.к. вся программа на C# написана для .NET Framework 3.5 и только с ним и работает.

AnastasiaM ()
Ответ на: комментарий от AnastasiaM

iexplore очень глючит и часть сайтов не открывает вообще. Открыть ssl test не могу.

Что-то с wine не так, у меня нормально открывает ssl test и показывает что поддержка TLS 1.2 есть (версия wine 4.0.4, Windows XP). Я думаю лучше сначала наладить wine что бы встроенный браузер мог нормально открывать сайты, а потом уже с программой разбираться. Не лишним будет проверить и основную систему при помощи ssl test.

MaxPower ★★ ()
Последнее исправление: MaxPower (всего исправлений: 1)
Ответ на: комментарий от MaxPower

ssl test на основной системе НЕ под wine говорит что есть TLS 1.2 и 1.3. Под wine 4.0 ни на сервере, ни дома на virtualbox браузер IE под wine 4.0 нормально не работает, сайт ssl test не открывается, хотя часть других сайтов открывает (яндекс и гугл). Ошибок в логах wine нет. Куда копать и почему часть сайтов не работает в IE не понятно.

Как временное решение проблемы это покупка нового сервера на windows.

Надеюсь найдется решение, как запустить поддержку TLS 1.2 для .NET Framework 3.5 на wine 4.0 (Windows XP).

AnastasiaM ()
Ответ на: комментарий от AnastasiaM

gnutls в системе стоит но к нему похоже не обращаются т.к. вся программа на C# написана для .NET Framework 3.5 и только с ним и работает.

К нему специально обращаться не нужно, Wine автоматически это делает (по крайней мере, должен) для реализации любого защищенного соединения. Так что странно, что не работает.

Эту программу можно где-нибудь скачать для проверки?

Как временное решение проблемы это покупка нового сервера на windows.

Можно еще ReactOS попробовать (через qemu, например).

Kron4ek ★★★★ ()
Последнее исправление: Kron4ek (всего исправлений: 2)
Ответ на: комментарий от Kron4ek

Программу брать тут: http://www.ninjatrader.com/ninjatrader/nt7/NinjaTrader.Install.msi

Данные для подключения сгенерить тут введя свою почту и попросив доступ к данным для RealTime: https://www.ninjatrader.com

qemu скорее всего не будет работать т.к. аппаратная виртуализация для CPU выключена (VirtualBox например не работает).

AnastasiaM ()
Ответ на: комментарий от AnastasiaM

Данные для подключения сгенерить тут введя свою почту и попросив доступ к данным для RealTime: https://www.ninjatrader.com

У кого просить? Кстати, не у всех такой миловидный вид как у вас – нам могут и отказать.
На сайте актуальная версия 8 что с ней не так?

MaxPower ★★ ()
Ответ на: комментарий от MaxPower

на сайте https://www.ninjatrader.com вводите e-mail и потом у вас спросят: Do you want FREE live market data? отвечаете «yes» вводите свои данные. потом вам скажут что скачать? выбираете 7ю версию т.к. 8я не работает под wine, у меня не получилось ее запустить, если получится то скажи как вы это сделали? Доступ к программе дают всем желающим на 2 недели, ограничений нет.

как потом подключиться с полученными demo данными смотреть тут: https://ninjatrader.com/ConnectionGuides/NinjaTrader-Continuum-Connection-Guide

AnastasiaM ()
Последнее исправление: AnastasiaM (всего исправлений: 2)
Ответ на: комментарий от AnastasiaM

У меня, судя по «Connected» в левом нижнем углу, программа нормально подключается к серверам. Я проверил на Wine 4.0.4 и на Wine-Staging 5.14 - в обоих случаях нормально работает.

Никакие ключи реестра не прописывал, просто установил dotnet35 через winetricks, а затем и саму программу.

Kron4ek ★★★★ ()
Последнее исправление: Kron4ek (всего исправлений: 2)
Ответ на: комментарий от Kron4ek

Connected и у меня пишет, а теперь открой Log и покажи что там? Нет ли там ошибок? Сюдя по тому что у тебя оредера для ES отверглись у тебя нет подключения. в логах наверное написано:

The specified value is not valid in the 'SslProtocolType' enumeration

сайт https://www.ninjatrader.com должен нормально работать через прокси, не должно писать что заблокированно, у меня все работает и сюдя потому что люди тут помогают у них тоже все работает.

AnastasiaM ()
Последнее исправление: AnastasiaM (всего исправлений: 2)
Ответ на: комментарий от AnastasiaM

Таки да, в логах у меня там есть эти ошибки. Мне удалось завести версию 8 (на Wine-Staging 5.14, на 4.0.4 не запускалась), и там в логе я таких ошибок не вижу, да и заказы вроде не отклоняются.

Собственно, 8 версия работает после установки dotnet45 и изменения ОС на Windows 7 в winecfg (это нужно сделать, так как после установки dotnet45 выбирается версия 2003).

Kron4ek ★★★★ ()
Последнее исправление: Kron4ek (всего исправлений: 1)
Ответ на: комментарий от Kron4ek

Хорошо, спасибо за помощь, я попробую запустить 8 версию на Wine-Staging 5.14. Надеюсь получится это сделать и новая wine версия будет без глюков, а то год назад никакая 5я версия wine не хотела дружить с Ninja 8.

Для уточнения:

  1. Wine-Staging 5.14 какой разрядности x86 или x64 (т.е. какая Windows 7)?
  2. Какая система на основной машине Debian, Ubuntu, CentOS и какой версии?
  3. На голую созданную под wine систему ставится только dotnet45 и потом сразу Ninja 8?
AnastasiaM ()
Ответ на: комментарий от AnastasiaM

По идее, можно и более новую версию Wine-Staging, главное не 5.18, так как на ней установщик dotnet45 виснет.

Wine-Staging 5.14 какой разрядности x86 или x64 (т.е. какая Windows 7)?

Сам Wine-Staging 64-битный, а префикс я 32-битный использовал.

export WINEARCH=win32

Какая система на основной машине Debian, Ubuntu, CentOS и какой версии?

Arch Linux. Но дистрибутив, по идее, не должен иметь большого значения.

На голую созданную под wine систему ставится только dotnet45 и потом сразу Ninja 8?

Да, на чистый префикс ставится dotnet45, затем сама программа. Ну и, как я уже сказал, ОС на Windows 7 пришлось изменить в winecfg. В моем случае этого было достаточно.

Kron4ek ★★★★ ()
Последнее исправление: Kron4ek (всего исправлений: 1)
Ответ на: комментарий от Kron4ek

Для удобства настройки можно ли использовать PlayOnLinux или он можеть повлиять на стабильность и верность установки? Это вроде как просто надстройка, но на сколько она корректная и стабильная я незнаю.

AnastasiaM ()
Ответ на: комментарий от Kron4ek

В вариантах есть только: Wine-Staging 5.11 и 5.13. на 5.18 есть проблемы с .NET, на 5.11 и 5.13 программа Ninja 8 установилась но не запускается. Я так понимаю нужно только 5.14 или выше?

PS по логам явных ошибок при запуске я не вижу

AnastasiaM ()
Ответ на: комментарий от Kron4ek

После танцев с бубном - заработала, но есть проблемы. Часть окна иногда не показывается, просто черный экран, пока не поводишь там мышкой ничего нет. и есть еще ошибки в самой программе, в логах wine чисто.

Failed to retrieve system information to build machine ID: 'ProcessorNameString' not found

Failed to create render target: HRESULT: [0x887A0004], Module: [Unknown], ApiCode: [Unknown/Unknown], Message: Unknown

Chart rendering to a software bitmap failed. There is likely a problem with a chart object's render method. D2D error = 'HRESULT: [0x887A0004], Module: [Unknown], ApiCode: [Unknown/Unknown], Message: Unkno
wn'

катринка как выглядит программа: https://i.postimg.cc/JtVfdscT/1.png

AnastasiaM ()
Последнее исправление: AnastasiaM (всего исправлений: 1)
Ответ на: комментарий от AnastasiaM

У меня тоже черные окна бывают. Попробуй gdi рендер включить для WineD3D: в реестре создай строковый параметр HKEY_CURRENT_USER\Software\Wine\Direct3D\renderer и установи его в значение gdi. Мне это лишь частично помогло, но может тебе поможет полностью.

Failed to retrieve system information to build machine ID: ‘ProcessorNameString’ not found

У меня такой ошибки нет. Она вообще влияет на что-нибудь? Если нет, то можно просто игнорировать ее.

Kron4ek ★★★★ ()
Ответ на: комментарий от Kron4ek

gdi рендер и так стоит и в реестре все прописано, но это не помогает. Ошибку нельзя игнорировать, из-за того что программа не может проверить ID она не может проверить лицензию, нет проверки лицензии - нет работы.

AnastasiaM ()

Решение не найдено, работь программа стабильно под wine не хочет. Есть подозрения что разные версии Linux по разному работают с wine, у меня не получилось нормально заставить работь нужную мне программу. Для решения проблемы был заменен VPS с Linux и Wine на VPS c Windows Server.

AnastasiaM ()
Последнее исправление: AnastasiaM (всего исправлений: 1)