BMF-RKSV-Technik / at-registrierkassen-mustercode

111 stars 39 forks source link

Problem mit FINON Session Webservice #693

Open taich001 opened 4 years ago

taich001 commented 4 years ago

Das Login von dem WSDL-Servicedokument für das Session-Webservice https://finanzonline.bmf.gv.at/fonws/ws/sessionService.wsdl funktioniert seit Freitag 6.3.2020 nicht mehr.

Nach dem Login result = session.login(tid, benid, pin, KassaHerstellerID, rc, msg)

bekomme ich eine Fehlermeldung Exception thrown: 'System.ServiceModel.Security.SecurityNegotiationException' in mscorlib.dll

Hat jemand eine Ahnung was der Grund dafür ist?

geraldsix commented 4 years ago

FION hat die Sicherheitseinstellungen geändert. TLS 1.0 und TLS 1.1 wird nicht mehr unterstützt. siehe hier: https://www.bmf.gv.at/services/finanzonline/fon-sicherheit.html

taich001 commented 4 years ago

Ja das wurde ausführlich dokumentiert. Aber nirgendwo findet man dass man TLS 1.2 im dotnet Famework extra einschalten muss.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

Phoniexk commented 4 years ago

Aber nirgendwo findet man dass man TLS 1.2 im dotnet Famework extra einschalten muss.

Auch wenn es nun schon etwas her ist, aber der Vollständigkeit halber: Das kommt auf die .NET Framework Version an und welche Sie in Ihrem Projekt aktiviert haben. v4.0 untersützt kein TLS 1.2, bei 4.5 muss TLS 1.2 explizit aktiviert werden und >= 4.6 ist es per default aktiviert. Auch wenn am Client-System 4.8 installiert ist, Sie aber in Ihrem Projekt auf 4.5 konfiguriert haben, dann müssen sie trotzdem die von Ihnen genannte Option setzen.

Allerdings hängt das auch noch vom jeweiligen Client ab. Wenn man im Betriebssystem TLS 1.2 oder entsprechende Chiper deaktiviert, dann kann der Client (Ihre Software) trotzdem keine Verbindung aufbauen - weil Windows der Support fehlt. Lässt sich dann daran erkennen, dass mit dem IE entsprechende Webseiten nicht aufrufen können - wohingegen es mit anderen Browser sehr wohl funktioniert (weil die nicht auf die OS-Einstellungen zugreifen).

https://blogs.perficient.com/2016/04/28/tsl-1-2-and-net-support/ https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls