BMF-RKSV-Technik / at-registrierkassen-mustercode

111 stars 39 forks source link

EXISTS_CASHBOX gibt fail zurück #675

Open rcscomp1 opened 5 years ago

rcscomp1 commented 5 years ago

Hallo,

ich versuche seit gestern das 1.1.1 Tool mit eine realen DEP Datei zu verwenden und stehe offenbar vor dem Problem das ich das CRYPTOGRAPHIC-MATERIAL-FILE nicht richtig anlege.

Ich bekomme bei allen Belegen folgende Meldung:

"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 kann nicht gültig geprüft werden, da die im maschinenlesbaren Code angegebene Kassenidentifikationsnummer keiner über FinanzOnline registrierten Kasse zugeordnet werden konnte. Bitte überprüfen Sie, ob bei der Registrierung der Kasse die Kassenidentifikationsnummer korrekt erfasst wurde und diese richtig im maschinenlesbaren Code abgebildet ist.", "verificationTimestamp" : "2019-01-24T08:45:57.954+01:00", "verificationResultList" : [ { "verificationId" : "EXISTS_CASHBOX", "version" : 1, "verificationName" : "Überprüfung ob Kasse in FinanzOnline registriert wurde", "verificationTextualDescription" : "Es wird überprüft ob die Kasse in FinanzOnline registriert wurde bzw. die Kassenidentifikationsnummer korrekt erfasst wurde.", "verificationState" : "FAIL", "verificationTimestamp" : "2019-01-24T08:45:58.032+01:00"

könne mir bitte jemand beispielhaft das CRYPTOGRAPHIC-MATERIAL-FILE zeigen? Danke!

ErichFreitag commented 5 years ago

Da fehlt die Kassen-ID im Crypto-File, siehe auch Issue 672 bezüglich Aufbau.

rcscomp1 commented 5 years ago

Ich zwar genau diese PDF gefunden aber nichts schlüssigen darin. Ab Seite 65 ? Ich finde da nur den AES und die Signatur (bei letzterem ist mir nicht klar wie ich aus der A-trust Karte den "signatureCertificateOrPublicKey" rausbekomme. Wie die Kassen ID heisst find ich nicht. Am leichtsten würd ich mich hald tun wenn ich ein Beispiel mit einer Signatureinheit sehe. Simple Registrierkasse hald.

ErichFreitag commented 5 years ago

Ab Seite 65, ja. Mehr als AES, Seriennummer und Zertifikat gibt es auch nicht. Ein Beispiel ist auch im PDF vorhanden.

Wie sie zum Zertifikatseintrag kommen finden sie zB unter https://github.com/BMF-RKSV-Technik/at-registrierkassen-mustercode/issues/496 oder https://github.com/BMF-RKSV-Technik/at-registrierkassen-mustercode/issues/516.

rcscomp1 commented 5 years ago

Gleicher Fehler: Kann die "id" falsch sein? ich hab sie aus der Karte gelesen. der Crypt Container hat nur einen Cert Eintrag mangels weiterer Zertifikate:

{"base64AesKey": "3Ejk2104xGuPlBWwbuUvKsR7kotuYF6xLyAyrjIjeTY=", "certificateOrPublicKeyMap": { "46e8667d4cdbb782": { "id": "46e8667d4cdbb782", "signatureDeviceType": "CERTIFICATE", "signatureCertificateOrPublicKey": "MIIFNjCCAx6gAwIBAgIEXKLeNjANBgkqhkiG9w0BAQsFADCBoTELMAkGA1UEBhMCQVQxSDBGBgNVBAoMP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUgaW0gZWxla3RyLiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECwwaQS1UcnVzdCBSZWdpc3RyaWVya2Fzc2UuQ0ExIzAhBgNVBAMMGkEtVHJ1c3QgUmVnaXN0cmllcmthc3NlLkNBMB4XDTE2MTEyMjEwNTcyOFoXDTIxMTEyMjA5NTcyOFowPjELMAkGA1UEBhMCQVQxGDAWBgNVBAMMD1VJRCBBVFU0MTE2NTkwMjEVMBMGA1UEBRMMMzc2MDMyMTA5MzEwMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEyXca3l7aeDTwSeUeYpNP1n4Uq11J+v6PKaCYP8jTeaCPUTrBr2yo6A9JV0taoLz2dhoEnm7EmUwJxi1A7hB1/qOCAaEwggGdMH8GCCsGAQUFBwEBBHMwcTBGBggrBgEFBQcwAoY6aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL0EtVHJ1c3QtUmVnaXN0cmllcmthc3NlLUNBLmNlcjAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AuYS10cnVzdC5hdC9vY3NwMA4GA1UdDwEB/wQEAwIGwDARBgNVHQ4ECgQISyTzD0thC18wRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL2NybC5hLXRydXN0LmF0L2NybC9BLVRydXN0LVJlZ2lzdHJpZXJrYXNzZS5DQTAJBgNVHRMEAjAAMFgGA1UdIARRME8wTQYGKigAEQEYMEMwQQYIKwYBBQUHAgEWNWh0dHA6Ly93d3cuYS10cnVzdC5hdC9kb2NzL2NwL0EtVHJ1c3QtUmVnaXN0cmllcmthc3NlMBMGA1UdIwQMMAqACEBHnq7jkN+2MBgGA1UdEQQRMA+BDW9mZmljZUByY3MuYXQwHAYHKigACgELAQQRDA9VSUQgQVRVNDExNjU5MDIwDQYJKoZIhvcNAQELBQADggIBAErcFbVC14fFrG3GObBEZE7M8Oyr12C1im/ueKnjeSL7F9Bsaw8QCsaAh5umVUOuKXUGxlgbrMhzDeciTAiIZk7FMc4kfMo3I3tBdafpmO4xSjP3vL2YrjN3T4KsO48Nj+OyX91aPq5TxXZs0mMil9CeWEne8qzMNE3YyhKjQD1Avr0FIQi6JAnvMAgmJRbwBpeHLqwDYH1GTmPC/hHlmhO3bHhx87wpC2XFtbfaf3QKpN7E4kTgYEbwyTaOKds7UhKClcM6WMtfJWVHjn7GZsVDnL+JgoIGk0uRWBCO/ZL8dq6Bl3/QF/DrMATTX7422eQei4IU+TFVgBbYPrfDDMrcpVkbO9PPxQ7oFfMmBLAYdu8V1XVMSfKa19Joz1fef9eo4EI+aYrRHpjoOpJtDeQ8FlHUSqy/GFvz/1NW7q0A1MJyitk5CY1+Mhfodp/ae43mZBSpcMpDWNrh3s6aA+9pncPu4vXSbTYJgeYHWK73igSbq6B+D9Co/1Z3TQXaflsj8g7A3NNXof0QmhdCnVdyeTJeQvVu/2QOemZnXfMnTNq9H6JpJ5x8dhFbVX3UZcyMMKYqyuvYNmDLnVE6CCaeu9wzmaR6FA/93VmE8df7Odij3vGBrVH9eFc7bL/wg99RnGmf4gwIcxZWmz0MtHStZ9w1aS28uRDmWPOEs0US" }}}

ErichFreitag commented 5 years ago

Sorry wegen oben - die Kassen-ID steht ja nicht im Crypto-File. Gemeint ist wahrscheinlich die Zertifikats-Seriennummer in der Fehlermeldung. Welche Seriennummer geben sie denn im maschinenlesbaren Code aus? Ein Eintrag für ein Zertifikat ist OK.

ErichFreitag commented 5 years ago

P.S. die Zeilenumbrüche im Zertifikatsstring müssen sie (auch) entfernen; ob das passiert ist kann ich aus obigem Text nicht entnehmen.

rcscomp1 commented 5 years ago
      Sorry wegen oben - die Kassen-ID steht ja nicht im Crypto-File. Gemeint ist wahrscheinlich die Zertifikats-Seriennummer in der Fehlermeldung. Welche Seriennummer geben sie denn im maschinenlesbaren Code aus? Ein Eintrag für ein Zertifikat ist OK.

Wie ist das mit: "Welche Seriennummer geben sie...….aus" im Crypt.json hab ich bei der ID die Hex Zahl eingetragen die ich aus der Karte lesen kann und in länge passt. habe aber auch die Hex Zahl probiert welche im FON einzutragen ist.

Zeilenubbrüche sind weg

rcscomp1 commented 5 years ago

Was hab ich jetzt für einen Unsinn geschrieben...… Ich meine: Wie ist mit: "Welche Seriennummer geben sie...….aus" gemeint? im Cryptcontainer hab ich bei der ID die Hex Zahl eingetragen die ich aus der Karte lesen kann und wo die Länge passt. habe aber auch die Hex Zahl probiert welche im FON einzutragen ist. Wo finde ich die richtige ID?

ErichFreitag commented 5 years ago

Die ID finden sie durch Auslesen oder auf einem Dokument, das sie mit der Karte bekommen haben. Oder über die Liste der Zertifikate im Verzeichnisdienst, die dem jeweiligen Unternehmen zugeordnet sind. Wie sie die ID korrekt aus der Karte auslesen kann ich ihnen nicht sagen, das müssen sie aus der API-Dokumentation herausfinden. Die Details des Zertifikats und die Seriennummer finden sie auch, wenn sie den obigen Zertifikatsstring zB unter https://certlogik.com/decoder/ eingeben.

Mit "Ausgabe der Seriennummer" habe ich folgendes gemeint: sie generieren ja auch einen maschinenlesbaren Code, typisch daraus einen QR-Code. In diesem maschinenlesbaren Code ist auch die Seriennummer des Zertifikats enthalten. Ist diese mit dem Eintrag im Crypto-File identisch? Wenn sie den DEP-Eintrag rückcodieren - ist dann das auch mit dem QR-Code identisch und stimmt auch hier die Seriennummer?

rcscomp1 commented 5 years ago

über den Decoder hab ich auch ein paar nummern gefunden und eingetragen... welche Nummer die im Decoder angezeigt wird ist die richtige?

Am Dokument zum Zertifikat steht die Nummer die bei FON eingetragen wird...

ErichFreitag commented 5 years ago

Ich nehme an die 1554177590 (0x5ca2de36) ist die richtige.

rcscomp1 commented 5 years ago

Dachte ich auch und eizutragen in den Container ist: 5ca2de36 ?

Wobei das hab ich schon probiert, in alle Varianten, geht aber nicht.

ErichFreitag commented 5 years ago

Der Eintrag ist wohl so korrekt. Daher nochmals zurück - welche Seriennummer ist im maschinenlesbaren Code enthalten?

rcscomp1 commented 5 years ago

im QR eines Beleges?: _R1-AT1_07004955_000001_2016-12-21T10:01:42_0,00_0,00_0,00_0,00_0,00_Rvy4okOTc2E=_5CA2DE36_3qHqLZX58xw=_RPOkHfoKTWcfb+Ap+cXmel+MQpW5nhmWURZpNuJLC2QmeOyZ2b2zH7TUIQa/rbn1YsBXAFD32uS8XxmvbpK6qQ==

ErichFreitag commented 5 years ago

Ja. Schaut optisch soweit beurteilbar gut und korrekt aus. Versuchen sie noch, die ID = Seriennummer im Crypto-File auch in Großbuchstaben einzutragen.

WienerroitherM commented 5 years ago

Im Cryptocontainer muss die Seriennummer "5CA2DE36" angeführt werden. Dieser Eintrag ist case sensitive - daher gibt das Verification Tool einen Fehler zurück, wenn "5ca2de36" eingetragen ist.

rcscomp1 commented 5 years ago

Hab auch Großbuchstaben getestet geht ebenso nicht. Derzeit steht da folgendes drinnen: Hab ich einen Tippfehler den ich seit tagen nicht sehe?

{"base64AesKey": "3Ejk2104xGuPlBWwbuUvKsR7kotuYF6xLyAyrjIjeTY=", "certificateOrPublicKeyMap": { "5CA2DE36": { "id": "5CA2DE36", "signatureDeviceType": "CERTIFICATE", "signatureCertificateOrPublicKey": "MIIFNjCCAx6gAwIBAgIEXKLeNjANBgkqhkiG9w0BAQsFADCBoTELMAkGA1UEBhMCQVQxSDBGBgNVBAoMP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUgaW0gZWxla3RyLiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECwwaQS1UcnVzdCBSZWdpc3RyaWVya2Fzc2UuQ0ExIzAhBgNVBAMMGkEtVHJ1c3QgUmVnaXN0cmllcmthc3NlLkNBMB4XDTE2MTEyMjEwNTcyOFoXDTIxMTEyMjA5NTcyOFowPjELMAkGA1UEBhMCQVQxGDAWBgNVBAMMD1VJRCBBVFU0MTE2NTkwMjEVMBMGA1UEBRMMMzc2MDMyMTA5MzEwMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEyXca3l7aeDTwSeUeYpNP1n4Uq11J+v6PKaCYP8jTeaCPUTrBr2yo6A9JV0taoLz2dhoEnm7EmUwJxi1A7hB1/qOCAaEwggGdMH8GCCsGAQUFBwEBBHMwcTBGBggrBgEFBQcwAoY6aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL0EtVHJ1c3QtUmVnaXN0cmllcmthc3NlLUNBLmNlcjAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AuYS10cnVzdC5hdC9vY3NwMA4GA1UdDwEB/wQEAwIGwDARBgNVHQ4ECgQISyTzD0thC18wRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL2NybC5hLXRydXN0LmF0L2NybC9BLVRydXN0LVJlZ2lzdHJpZXJrYXNzZS5DQTAJBgNVHRMEAjAAMFgGA1UdIARRME8wTQYGKigAEQEYMEMwQQYIKwYBBQUHAgEWNWh0dHA6Ly93d3cuYS10cnVzdC5hdC9kb2NzL2NwL0EtVHJ1c3QtUmVnaXN0cmllcmthc3NlMBMGA1UdIwQMMAqACEBHnq7jkN+2MBgGA1UdEQQRMA+BDW9mZmljZUByY3MuYXQwHAYHKigACgELAQQRDA9VSUQgQVRVNDExNjU5MDIwDQYJKoZIhvcNAQELBQADggIBAErcFbVC14fFrG3GObBEZE7M8Oyr12C1im/ueKnjeSL7F9Bsaw8QCsaAh5umVUOuKXUGxlgbrMhzDeciTAiIZk7FMc4kfMo3I3tBdafpmO4xSjP3vL2YrjN3T4KsO48Nj+OyX91aPq5TxXZs0mMil9CeWEne8qzMNE3YyhKjQD1Avr0FIQi6JAnvMAgmJRbwBpeHLqwDYH1GTmPC/hHlmhO3bHhx87wpC2XFtbfaf3QKpN7E4kTgYEbwyTaOKds7UhKClcM6WMtfJWVHjn7GZsVDnL+JgoIGk0uRWBCO/ZL8dq6Bl3/QF/DrMATTX7422eQei4IU+TFVgBbYPrfDDMrcpVkbO9PPxQ7oFfMmBLAYdu8V1XVMSfKa19Joz1fef9eo4EI+aYrRHpjoOpJtDeQ8FlHUSqy/GFvz/1NW7q0A1MJyitk5CY1+Mhfodp/ae43mZBSpcMpDWNrh3s6aA+9pncPu4vXSbTYJgeYHWK73igSbq6B+D9Co/1Z3TQXaflsj8g7A3NNXof0QmhdCnVdyeTJeQvVu/2QOemZnXfMnTNq9H6JpJ5x8dhFbVX3UZcyMMKYqyuvYNmDLnVE6CCaeu9wzmaR6FA/93VmE8df7Odij3vGBrVH9eFc7bL/wg99RnGmf4gwIcxZWmz0MtHStZ9w1aS28uRDmWPOEs0US" }}}

rcscomp1 commented 5 years ago

Oder mach ich in der CMD was falsch?:

java -jar regkassen-verification-depformat-1.1.1.jar -v -f -i DEP-EXPORT-FILE.json -c CRYPTO.json -o OUTPUT_DIR

WienerroitherM commented 5 years ago

Im cryptocontainer folgende Zeile: "base64AesKey": "3Ejk2104xGuPlBWwbuUvKsR7kotuYF6xLyAyrjIjeTY=", bitte auf: "base64AESKey": "3Ejk2104xGuPlBWwbuUvKsR7kotuYF6xLyAyrjIjeTY=", ändern (AES großgeschrieben). Dann sollte es klappen.

rcscomp1 commented 5 years ago

VIELEN DANK! Den Fehler hätt ich nie gefunden! Steht scheinbar irgendwo kleingeschrieben drinnen...… jetzt schau ich mal ob da noch was mekkert…..

DANKE!