BMF-RKSV-Technik / at-registrierkassen-mustercode

111 stars 39 forks source link

Nullbeleg bei dem die Verschlüsselung fehlschlug führt zu Fehlern bei Validierung #706

Closed theshadowtwentyseven closed 3 years ago

theshadowtwentyseven commented 3 years ago

Durch Zufall bemerkten wir bei einigen Kunden einen Fehler, dass ausschließlich bei Nullbelegen passiert bei denen auch noch die Verschlüsselung fehlschlägt ("Internal Server Error" von A-Trust um genau zu sein). Dort erhalten wir:

{ "verificationId" : "VERIFICATION_FROM_CASHBOX", "version" : 1, "verificationName" : "Prüfergebnis - Kasse", "verificationTextualDescription" : "Bei der Belegprüfung wird untersucht, ob die Vorgaben der RKSV in Bezug auf den maschinenlesbaren Code am Beleg und auf die meldepflichtigen Metadaten der Sicherheitseinrichtung befolgt werden. Im Fehlerfall sind die genauen Fehlerinformationen nachfolgend angeführt.", "verificationState" : "FAIL", "verificationResultDetailedMessage" : "Der vorliegende Beleg weist Fehler im maschinenlesbaren Code auf. Die Fehlerursachen sind nachfolgend angeführt:", "verificationTimestamp" : "2021-04-07T10:56:22.908+02:00", "verificationResultList" : [ { "verificationId" : "RECEIPT_FULL", "version" : 1, "verificationName" : "Detailprüfung des maschinenlesbaren Codes", "verificationTextualDescription" : "Dieses Modul und die dazugehörigen Submodule überprüfen die Gültigkeit des Belegs. Dabei werden sowohl Formatprüfungen, kryptographische Prüfungen (verschlüsselter Umsatzzähler, Signatur) als auch Prüfungen im Zusammenhang mit dem Status der Kasse bzw. der Signatur-/Siegelerstellungseinheit durchgeführt.", "verificationState" : "FAIL", "verificationTimestamp" : "2021-04-07T10:56:22.908+02:00", "verificationResultList" : [ { "verificationId" : "STATE_CONSOLIDATED", "version" : 1, "verificationName" : "Statusprüfung der Kasse und Signatur-/Siegelerstellungseinheit", "verificationTextualDescription" : "In diesem Modul und den dazugehörigen Submodulen werden die Zustände der Kasse und der verwendeten Signatur-/Siegelerstellungseinheit und die Ergebnisse der zuvor durchgeführten Prüfungen (vor allem der Belegtyp) ausgewertet. Handelt es sich um einen Startbeleg, wird überprüft ob eine Inbetriebnahme der Kasse möglich ist.", "verificationState" : "FAIL", "verificationTimestamp" : "2021-04-07T10:56:22.909+02:00", "verificationResultList" : [ { "verificationId" : "STATE_SIGDEVICE", "version" : 1, "verificationName" : "Statusprüfung der Signatur-/Siegelerstellungseinheit", "verificationTextualDescription" : "Es wird der Status der Signatur-/Siegelerstellungseinheit zum Belegerstellungszeitpunkt und zum Prüfzeitpunkt ausgewertet. Die extrahierten Informationen werden im Zusammenhang mit weiteren Beleginformationen betrachtet.", "verificationState" : "FAIL", "verificationResultDetailedMessage" : "Dieser Nullbeleg wurde nicht kryptographisch signiert. Bitte beachten Sie, dass die Forderung nach der Signatur vom Typ des Nullbelegs abhängig ist: Nullbelege, die eine gültige Signatur enthalten müssen (also nicht mit “Sicherheitseinrichtung ausgefallen” markiert werden dürfen): Startbeleg, Jahresbeleg, Sammelbeleg, der das Ende des Ausfalls der Sicherheitseinrichtung markiert. Nullbelege die auch mit “Sicherheitseinrichtung ausgefallen” markiert werden dürfen: Monatsbeleg, Schlussbeleg, Kontrollbelege, die über Aufforderung der Behörde erstellt werden müssen, Freiwillige Nullbelege: z.B. Tagesbelege etc., \"Zufällige Nullbelege” die z.B. aufgrund einer Gutschrift entstehen.", "verificationTimestamp" : "2021-04-07T10:56:22.909+02:00" } ] } ] } ] }

Im Detail: Beleg 15685 regulär -> Fehler Beleg 15686 regulär -> OK Beleg 15687 null/Sammel -> Fehler Beleg 15688 regulär -> OK Beleg 15689 null/Sammel -> OK

DEP-global.json schlägt fehl mit: { "verificationId" : "DEP_RECEIPT_LIST", "version" : 1, "verificationName" : "Zusammenfassung der Ergebnisse der RKSV-DEP-Export Prüfungen pro Beleg (Datei \"DEP-global.json\")", "verificationTextualDescription" : "Dieses Hilfsmodul fass die Ergebnisse der RKSV_DEP_EXPORT Prüfungen zusammen (siehe Datei \"DEP-global.json\"). Äquivalent zum Modul RKSV_DEP_EXPORT (siehe Datei \"i_DEP.json\").", "verificationState" : "FAIL", "input" : { "DEP_RESULT_OF_LIST" : "false" }

In die DEP-full.json mit 14+ GB kriegen wir keinen Einblick, der Fehler sollte aber dasselbe sein.

Sind für jede Idee dankbar - wir haben keine Idee warum es fehlschlägt.

theshadowtwentyseven commented 3 years ago

Duplicates ticket #490, hence closing and continuing there.