banking4w unter ubuntu

playonlinux Einstellungen

 
vnt
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 27
Dabei seit: 09 / 2025
Betreff:

Re: banking4w unter ubuntu

 · 
Gepostet: 29.03.2026 - 14:37 Uhr  ·  #761
Hallo winetrouble,
aufgrund Deines berechtigten Hinweises hinsichtlich der Lizenzproblematik bei installation der Schriftarten Segoe UI und Segoe UI Emoji , habe ich mich mit dem Thema Ersatzschriftarten nochmals beschäftigt und als für mich beste freie Lösung die nachstehenden Ersatzschriftarten gefunden, mit welchen dann auch die Symbole in der Detailansicht der Protokolle korrekt dargestellt werden:
Code
echo "Ersatzschriftarten Segoe UI und Segoe UI Emoji festlegen"
WINEPREFIX=~/.Banking4-${VERSION} ~/.wine-${VERSION}-staging-amd64/bin/wine reg add 'HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements' /v "Segoe UI" /t REG_SZ /d "Nimbus Sans" /f
WINEPREFIX=~/.Banking4-${VERSION} ~/.wine-${VERSION}-staging-amd64/bin/wine reg add 'HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements' /v "Segoe UI Emoji" /t REG_SZ /d "Symbola" /f


Unter Linux Mint 22.3 (Ubuntu 24.04) sollten beide Schriftarten standardmäßig installiert sein, ansonsten müsste man die nachstehenden Pakete installieren:
  • fonts-urw-base35 (für Nimbus Sans)
  • fonts-symbola (für Symbola)


Betreffend das Paket libgnutls30t64 habe ich auch nochmal ein wenig recherchiert und tatsächlich ist es so, dass das Paket für Debian 13 im Gegensatz zum dem für Ubuntu 24.04 die Datei /etc/gnutls/config nicht enthält, warum auch immer.

Gruß,
vnt
winetrouble
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 285
Dabei seit: 08 / 2014
Betreff:

Re: banking4w unter ubuntu

 · 
Gepostet: 29.03.2026 - 15:01 Uhr  ·  #762
Hallo vnt,

vielen Dank für deine Recherche und diesen Tipp. Echt super!!!
Ich war auch schon auf der Suche nach einer Ersatzschrift für Segoe UI und Segoe UI Emoji, bin aber nicht fündig geworden wegen dem Emoji-Zeugs.
Ich werde bei Gelegenheit deine Lösung in mein Skript integrieren.
Stefan193
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 423
Dabei seit: 09 / 2017
Betreff:

Re: banking4w unter ubuntu

 · 
Gepostet: 29.03.2026 - 21:05 Uhr  ·  #763
@vnt: Coole Recherche - vielen Dank. Das muss ich bei nächster Gelegenheit gleich an der Banking-Maschine prüfen und nachvollziehen. Ich hab icht mal geschnallt dass da evtl. Sysmbole fehlen könnten. Ich hab alles mit Arial laufen, vielleicht sind in der Arial Version auch die Symbole vorhanden.

Schönen Abend zusammen
Stefan193
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 423
Dabei seit: 09 / 2017
Betreff:

Re: banking4w unter ubuntu

 · 
Gepostet: Gestern um 12:25 Uhr  ·  #764
Zitat geschrieben von Stefan193

.... Ich hab alles mit Arial laufen, vielleicht sind in der Arial Version auch die Symbole vorhanden.
....

Kurzes Update:
Nein, ich habs nicht mit Arial sondern mit Tahoma laufen, die ich mit der seinerzeitigen Scriptversion zu wine 11.3 installiert habe. Vielleicht ist die Tahoma-Version vom Projekt corefonts auch zu alt - wer weiß. Im seinerzeitgen Script ist auch bereits eine Ersetzung von segoe ui durch Tahoma drin, nur segoe ui emoji nicht. Das teste ich jetzt als nächstes ob das dann mit der vorhandenen tahome geht. Bei "meinen" Details fehlt in diesem Zustand "nur" ein Zeichen, das vor der Angabe des Datums und der Uhrzeit steht und vor der zeile "elapsed.." sowie "saving Subsembly...".

Bei meiner Debian 13-Installation sind aber die beiden erwähnten Pakete

fonts-urw-base35 (für Nimbus Sans)
fonts-symbola (für Symbola)

bereits vorhanden

Grüße und bis später
Stefan
winetrouble
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 285
Dabei seit: 08 / 2014
Betreff:

Re: banking4w unter ubuntu

 · 
Gepostet: Gestern um 14:42 Uhr  ·  #765
Recherche zu dem Befehl "GNUTLS_SYSTEM_PRIORITY_FILE"

Zunächst einmal vielen Dank an @Stefan193 und @hbciuser für den intensiven Austausch zu diesem Thema. Ich muss zugeben, dass ich manchmal nur Bahnhof verstanden habe, weil ich nicht vom Fach bin.
Bei meiner Rechereche bin ich darauf gestoßen, wie dieser Befehl "GNUTLS_SYSTEM_PRIORITY_FILE" es zum Einzug in Wine geschafft hat.

Um 2020 haben manche Linux-Distributionen begonnen, alte und unsichere Algorithmen zu deaktivieren. Zum Beispiel können die systemweiten Krypto-Richtlinien von Fedora TLS 1.0 und 1.1 deaktivieren und die Kompatibilität mit älteren Anwendungen beeinträchtigen. Das rief nun einige Gamer, die Wine nutzen, auf den Plan, denn mit diesen Einschränkungen funktionierten manche Spiele nicht mehr, vor allem, wenn sie auf alten Servern laufen, die nur die alten Protokolle unterstützen. So kam man auf die Idee, für Wine einen Patch zu machen, um die strengen Sicherheitsmaßnahmen von manchen Linuxdistributionen zu umgehen:


https://www.winehq.org/piperma…76824.html

Hier wird auch ganz deutlich das Ziel dieses Patches genannt:

"Fedora 33 disabled protocols below TLS 1.2 through crypto policy [1].

https://fedoraproject.org/wiki…s:_phase_2
Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
---
I suppose other distros are also likely to move this way. So we need to overrides that to
keep earlier protocols working which still work on Windows.
Gnutls finds and loads the system priority file during library initialization, so the override
has effect only for the first dlopen( SONAME_LIBGNUTLS ) in the process and needs to be done
in each place where Wine loads gnutls library."


Und es wurde damals genau die "Lösung" vorgeschlagen, über die wir gerade reden:

setenv("GNUTLS_SYSTEM_PRIORITY_FILE", "/dev/null", 0)

Dieser Befehl öffnet alle Türen und Tore für alte SSL und TLS Protokolle. Die Gamer waren glücklich, denn für sie sind die Sicherheitsmaßnahmen nicht so wichtig, Hauptsache die Spiele laufen.
Nachdem die Clienten von Wine fast ausschließlich Gamer sind, hat man diese Einstellung in der bcrypt.dll bereitwillig übernommen. Wahrscheinlich haben die Entwickler von Wine nicht damit gerechnet, dass es auch "Linux-Freaks" geben könnte, die Wine für ihre Banking-Apps benutzen möchten.

Der aktuelle Eintrag in Wine findet sich in der bcrypt.dll:

https://gitlab.winehq.org/wine…t/gnutls.c

Thema: GNUTLS_SYSTEM_PRIORITY_FILE Zeile 375-382:

if ((env_str = getenv("GNUTLS_SYSTEM_PRIORITY_FILE")))
{
WARN("GNUTLS_SYSTEM_PRIORITY_FILE is %s.\n", debugstr_a(env_str));
}
else
{
WARN("Setting GNUTLS_SYSTEM_PRIORITY_FILE to \"/dev/null\".\n");
setenv("GNUTLS_SYSTEM_PRIORITY_FILE", "/dev/null", 0);
}

if (!(libgnutls_handle = dlopen( SONAME_LIBGNUTLS, RTLD_NOW )))
{
ERR_(winediag)( "failed to load libgnutls, no support for encryption\n" );
return STATUS_DLL_NOT_FOUND;
}


Ich bin erst durch @Stefan193 auf dieses Sicherheitsproblem unter Wine aufmerksam geworden. Die "Banker" können aber glücklicherweise dieselbe Methode benutzen, um die unsicheren Protokolle wieder zu deaktivieren.

Banking4 benutzt Schannel wie andere Windows-Programme, die auf .Net Framework 4.8 basieren, um den Online Traffic zu regeln.
Geregelt wird das in der secur32.dll im Verzeichnis "schannel.c":

https://gitlab.winehq.org/wine…type=heads

Zeile 197-203:
{ L"SSL 2.0", SP_PROT_SSL2_CLIENT, SP_PROT_SSL2_SERVER, FALSE, TRUE }, /* NOTE: TRUE, TRUE on Windows */
{ L"SSL 3.0", SP_PROT_SSL3_CLIENT, SP_PROT_SSL3_SERVER, TRUE, FALSE },
{ L"TLS 1.0", SP_PROT_TLS1_0_CLIENT, SP_PROT_TLS1_0_SERVER, TRUE, FALSE },
{ L"TLS 1.1", SP_PROT_TLS1_1_CLIENT, SP_PROT_TLS1_1_SERVER, TRUE, FALSE /* NOTE: not enabled by default on Windows */ },
{ L"TLS 1.2", SP_PROT_TLS1_2_CLIENT, SP_PROT_TLS1_2_SERVER, TRUE, FALSE /* NOTE: not enabled by default on Windows */ },
{ L"DTLS 1.0", SP_PROT_DTLS1_0_CLIENT, SP_PROT_DTLS1_0_SERVER, TRUE, TRUE },
{ L"DTLS 1.2", SP_PROT_DTLS1_2_CLIENT, SP_PROT_DTLS1_2_SERVER, TRUE, TRUE },

Hier sieht man schön, dass dort TLS 1.3 nicht unterstützt wird, aber leider dafür veraltete Protokolle, die nicht mehr als sicher gelten!
Es gibt zwar in Wine ein Test Verzeichnis, dort wird TLS 1.3 unterstütz, aber man muss sich als Entwickler oder sowas dort anmelden, damit man darauf Zugriff hat:

Aktuelle secur32.dll Test schannel.c
https://gitlab.winehq.org/wine…type=heads

Zeile 198-206:
#define X(flag, name) do { if(protocols.grbitProtocol & flag) { trace(name "\n"); protocols.grbitProtocol &= ~flag; } }while(0)
X(SP_PROT_SSL2_CLIENT, "SSL 2 client");
X(SP_PROT_SSL3_CLIENT, "SSL 3 client");
X(SP_PROT_TLS1_0_CLIENT, "TLS 1.0 client");
X(SP_PROT_TLS1_1_CLIENT, "TLS 1.1 client");
X(SP_PROT_TLS1_2_CLIENT, "TLS 1.2 client");
X(SP_PROT_TLS1_3_CLIENT, "TLS 1.3 client");
X(SP_PROT_DTLS1_0_CLIENT, "DTLS 1.0 client");
X(SP_PROT_DTLS1_2_CLIENT, "DTLS 1.2 client");


Was macht "Schannel"?

"Schannel.c" steuert die ganzen Prozesse zur Herstellung der Onlin-Traffic, aber ausgeführt werden die Prozesse erst unter "schannle_gnutls.c:

Aktuelle secur32.dll schannel_gnutls.c
https://gitlab.winehq.org/wine…type=heads


Zeile 361-380:
static const struct protocol_priority_flag client_protocol_priority_flags[] = {
{SP_PROT_DTLS1_2_CLIENT, "VERS-DTLS1.2"},
{SP_PROT_DTLS1_0_CLIENT, "VERS-DTLS1.0"},
{SP_PROT_TLS1_3_CLIENT, "VERS-TLS1.3"},
{SP_PROT_TLS1_2_CLIENT, "VERS-TLS1.2"},
{SP_PROT_TLS1_1_CLIENT, "VERS-TLS1.1"},
{SP_PROT_TLS1_0_CLIENT, "VERS-TLS1.0"},
{SP_PROT_SSL3_CLIENT, "VERS-SSL3.0"}
/* {SP_PROT_SSL2_CLIENT} is not supported by GnuTLS */
};

static const struct protocol_priority_flag server_protocol_priority_flags[] = {
{SP_PROT_DTLS1_2_SERVER, "VERS-DTLS1.2"},
{SP_PROT_DTLS1_0_SERVER, "VERS-DTLS1.0"},
{SP_PROT_TLS1_3_SERVER, "VERS-TLS1.3"},
{SP_PROT_TLS1_2_SERVER, "VERS-TLS1.2"},
{SP_PROT_TLS1_1_SERVER, "VERS-TLS1.1"},
{SP_PROT_TLS1_0_SERVER, "VERS-TLS1.0"},
{SP_PROT_SSL3_SERVER, "VERS-SSL3.0"}
/* {SP_PROT_SSL2_SERVER} is not supported by GnuTLS */

Hier wird zwar TLS 1.3 unterstützt, aber das nützt nichts, weil in "schannel.c", wo die Prozesse gesteuert werden, TLS 1.3 eben nicht unterstütz wird.



Was bewirkt nun der Befehl "setenv("GNUTLS_SYSTEM_PRIORITY_FILE", "/dev/null", 0)" in Wine?

"/dev/null": Setzt den Pfad auf das „Nulldevice“. Da diese Datei leer ist, ignoriert gnutls nun alle Systemregeln, die das jeweilige Betriebssystem für gnutls festgelegt hat, z. Bsp. wird in Fedora die Deaktivierung von TLS 1.0 und TLS 1.1 damit aufgehoben. Dieser Befehl funktioniert auch, wen man anstatt "dev/null" eine Datei angibt, die es gar nicht gibt.
Wie oben aber in der Anleitung steht, muss dieser Befehl gesetzt werden, bevor die Bibliotheken des Betriebssystems geladen werden, die die Deaktivierung unliebsamer Algorithmen enthalten:

"Gnutls finds and loads the system priority file during library initialization, so the override
has effect only for the first dlopen( SONAME_LIBGNUTLS ) in the process and needs to be done
in each place where Wine loads gnutls library."

Dies wird in Wine mit folgendem Befehl erreicht (s.o.):

if (!(libgnutls_handle = dlopen( SONAME_LIBGNUTLS, RTLD_NOW )))

Jetzt wissen wir, dass in Wine alle möglichen Algorithmen aktiviert werden, außer TLS 1.3.


Was passiert nun, wenn man "GNUTLS_SYSTEM_PRIORITY_FILE" als Umgebungsvariable vor dem Starten der Banking4-APP setzt?

Wenn man den Befehl "GNUTLS_SYSTEM_PRIORITY_FILE" als Umgebungsvariable vor dem Starten der Banking4-APP setzt, werden nicht nur die Systemregeln des Betriebssystems bezüglich gnutls ignoriert, sondern auch die in Wine, die gnutls betreffen. Also wird nun auch "schannel.c" in der secur32.dll ignoriert. Das merkt man deutlich daran, dass es nun völlig egal ist, ob man in Wine Windows11 oder Windows7 einstellt. Jedesmal wird TLS 1.3 unterstützt!

Mit diesem Befehl kann man zwei Fliegen mit einer Klappe schlagen, denn es wird nicht nur TLS 1.3 freigeschaltet, sondern man kann mit einer entsprechenden config-Datei nun auch unliebsame Algorithmen wieder deaktivieren.

Wie gesagt, ich bin nicht vom Fach. Das ist nur das Ergebnis meiner Recherche. Vielleicht kann jemand hier, der vom Fach ist, diese Ergebnisse verifizieren. Vielen Dank!


Meine aktuelle Anleitung für Banking4 unter Linux befindet sich hier:
forum/topic.php?p=185677#real185677
vnt
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 27
Dabei seit: 09 / 2025
Betreff:

Re: banking4w unter ubuntu

 · 
Gepostet: Gestern um 14:59 Uhr  ·  #766
Hallo Stefan,
das Hauptproblem bei der Ersatzschriftart für Segoe UI ist nach meiner Erfahrung, dass manchen Schriftarten u.a. das von Banking4 verwendete BlackCircle-Zeichen fehlt, was dann z.B. bei der Passworteingabe sofort sichtbar wird.
Betreffend Segoe UI Emoji funktioniert als Ersatzschriftart merkwürdigerweise Noto Color Emoji nicht, obwohl die beiden von Dir erwähnten Zeichen darin enthalten sind; aber Symbola funktioniert ja und abgesehen davon, ist die Anzeige dieser beiden Zeichen jetzt auch nicht wirklich essentiell ... hat aber meinen Ehrgeiz geweckt, zu schauen, ob es eine Lösung ohne Installation der Originalschriftart gibt.

Für Segoe UI kannst Du prinzipiell jede beliebige Schriftart nehmen, die das BlackCircle-Zeichen enthält und bei der Dir das Schriftbild gefällt; weshalb ich mich hier für Nimbus Sans entschieden habe.

Gruß,
vnt
Gewählte Zitate für Mehrfachzitierung:   0