BMF-RKSV-Technik / at-registrierkassen-mustercode

111 stars 39 forks source link

Prüftool für Single Receipt #709

Closed ralpheichelberger closed 3 years ago

ralpheichelberger commented 3 years ago

Laut Ihrer Dokumentation "Detailfragen-RKSV" soll man hiermit die Korrektheit einer einzelnen maschinenlesbaren Representation prüfen können:

java -jar regkassen-verification-receipts-1.1.1.jar -v -f -i repfile -c CryptographicMaterialContainer.json -o OUTPUT_DIR Parsing cryptographic material container from /home/ralph/workspace/go_rksv/testtool/CryptographicMaterialContainer.json Error while parsing the input files.

Die Files habe ich mit den Daten aus dem Dokument gefüllt:

CryptographicMaterialContainer.json 
{
  "base64AESKey": "BwZ8o6bv2XoABMSeLDvr5VrhNpwWLDklS1plk3TeBqU=",
  "certificateOrPublicKeyMap": {
    "816d29a919370f0c": {
      "id": "816d29a919370f0c",
      "signatureDeviceType": "CERTIFICATE",
      "signatureCertificateOrPublicKey":"MIIBSTCB8KADAgECAgh+ktZW5sjw9DAKBggqhkjOPQQDAjAWMRQwEgYDVQQDDAtSZWdLYXNzYSBDQTAeFw0xNjAzMDUxOTQ1MDJaFw0xNjAzMDYxOTQ1MTJaMB4xHDAaBgNVBAMME1NpZ25pbmcgY2VydGlmaWNhdGUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQg/H2XYKNKhowvHESHADoKvw2V63+A2acOUPmdbR51Vbca4lvHEr1S1843WNuxILXXZURn0740m0JmGeg2H5+goyAwHjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAKBggqhkjOPQQDAgNIADBFAiAYj25MfdCWtyxSt3/ggkFvdJ/WIbiq0Oe99gwfbOnwaAIhANApaLXif7PDXvL4ombusXwEVtZg3ABVTqviyb9Uu31T"
    }
  }
}

repfile 
_R1-AT0_DEMO-CASH-BOX524_366596_2015-12-17T11:23:44_0,00_0,00_3,64_-2,60_1,79_VFJB_47be737cb1f6d1f1_ZvNxJw6a1A4=_J7YC28zquHfHzMpx02TqElbXOTSgXQu5JAA9Xu1Xzzu5p8eUYT+sgmyhzRps5nYyEp5Yh8ATIa9130zmuiACHw==

Was soll ich mit einem Fehler "Error while parsing the input files." anfangen? Nochdazu wenn diese Daten aus dem Dokument eigentlich korrekt sein sollten, oder?

Dazu ist es nicht möglich den Vorgang zu debuggen, da die meisten relevanten Sources nicht zur Verfügung stehen und das Projekt in dieser fragmentieren Art nicht lauffähig ist. Für die Prüftools gibt es nur die JAR-Files ohne Source, für die Kasse nur die Sourcefiles, die nach einem erfolgreichem Maven Build trotzdem nicht läuft.

Wie kann ich nun prüfen ob meine Implementierung korrekt ist?

WienerroitherM commented 3 years ago

Hallo!

Der Beleg im repfile muss in []-Klammern und Anführungszeichen gesetzt werden, dann sollte die Prüfung laufen: ["_R1-AT0_DEMO-CASH-BOX524_366596_2015-12-17T11:23:44_0,00_0,003,64-2,60_1,79_VFJB_47be737cb1f6d1f1_ZvNxJw6a1A4=_J7YC28zquHfHzMpx02TqElbXOTSgXQu5JAA9Xu1Xzzu5p8eUYT+sgmyhzRps5nYyEp5Yh8ATIa9130zmuiACHw=="]

Im Beleg selbst wird aber mit "_R1-AT0" angegeben, dass ein geschlossenes Gesamtsystem verwendet wird. Das passt in weiterer Folge nicht zur angegebenen Zertifikatsseriennummer (bei GGS muss anstelle dieser der Ordnungsbegriff stehen) und wird bei der Prüfung einen Fehler retournieren.

Das Crypto-file ist vom Aufbau her korrekt, allerdings ist darin ein anderes Zertifikat eingetragen, als dann im Beleg angegeben wird (816d29a919370f0c vs. 47be737cb1f6d1f1).

LG

ralpheichelberger commented 3 years ago

War nur das Format mit den [" "], welches ich nirgends beschrieben gefunden habe.