BMF-RKSV-Technik / at-registrierkassen-mustercode

111 stars 39 forks source link

DEP export #289

Closed espeitslo closed 7 years ago

espeitslo commented 7 years ago

Hallo,

Kann mir bitte jemand mit dem DEP export helfen. Was ich gefunden hab, ist eine Beschreibung aus RKSV 1.2, Seite 56. und Seit 69 das Beispiele in die naechste Version der RKSV beschreiben werden. Einen Beispiel habe ich auch, aber das ist ja nur ein Ergebniss, ich brauche zu wissen wie man zu diesen Resultat kommt...

Was ich nicht genau verstehe, ist die Position "Zertifizierungsstellen"., was genau wird damit gemeint bzw welche Daten genau werden dafuer verwendet? Hat jemand einen Beispiel den ich nachvollziehen koennte?

Danke im Voraus

RKSV: Prozessbeschreibung JSON-Notation: Beim DEP-Exportformat handelt es sich um ein Objekt in JSON-Notation das folgende Felder enthält:

Belege-Gruppe

Liste (JSON Array) bestehend aus einem oder mehreren JSON-Objekten die wie folgt aufgebaut sind:

Signaturzertifikat

Der Wert entspricht dabei dem BASE64-kodierten Wert des im DER-Format kodierten Signaturzertifikats.

Zertifizierungsstellen: Liste (JSON Array) bestehend aus den Zertifizierungsstellen die für die Ausstellung des Signaturzertifikats verwendet wurden. Ein Eintrag dieser Liste entspricht dabei dem BASE64-kodierten Wert des im DER-Format kodierten Zertifikats der jeweiligen

Zertifizierungsstelle.

Belege-Kompakt

Liste (JSON Array) bestehend aus den Belegen die mit dem angegebenen Signaturzertifikat signiert wurden. Die Belege werden dabei in der kompakten Repräsentation der JWS-Signatur abgelegt (entspricht Aufbereitung nach Prozess 4.5).

ErichFreitag commented 7 years ago

Die Zertifikats-Informationen und Zertifizierungsstellen sind optional, die können sie zunächst mal weglassen. Genügt das vorerst?

espeitslo commented 7 years ago

Leider machen wir einen Fiskalizierungssoftware bzw Zwischenstelle fuer unsere Kunden und werden von dennen (Kassensoftware) auch relevante output Daten beantragen und daraus auch Tabellen konstruieren. Daraus machen wir dann die erste Release Version und wenn dann nach gewissen Zeitraum sich "Optional" aendert, muessen wir ziemlich viel erneut machen.

ErichFreitag commented 7 years ago

Es ist gesetzlich optional (RKSV Detailspezifikation Punkt 11) und sie können es weglassen und müssen sich darüber keine Gedanken machen. Sollte sich gesetzlich etwas ändern (und dann wohl nicht diesbezüglich) müssen sie ohnedies wieder aktiv werden.

espeitslo commented 7 years ago

Ok das kann ich verstehen und danke fuer die Antwort, aber trotzdem ich brauche dringend nur eine Erklaerung: Zertifizierungsstellen. Welche daten werden genau bezogen aus einen Beispiel? Belegdaten? JWS Rep? { "Belege-Gruppe": [ { "Signaturzertifikat": "MIIBSjCB8KADAgECAgjNGMgblNjbjzAKBggqhkjOPQQDAjAWMRQwEgYDVQQDDAtSZWdLYXNzYSBDQTAeFw0xNTExMjUxODIwMDBaFw0xNTExMjYxODIwMTBaMB4xHDAaBgNVBAMME1NpZ25pbmcgY2VydGlmaWNhdGUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT8+CSK/Mbl+EJMYsykyH7wqWrgRjfkkNWD+v3kgZ2TbeYZ0tkz2y+NGrsPnq5uNh5nsZ9sQ0b6dhmSifq5CtNgoyAwHjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAKBggqhkjOPQQDAgNJADBGAiEA5V0pTFucMoCDmo9ZFETC/q76+KaAWejqrl16x3EaS3gCIQDfSu76Y6mw7H0yvz5JsleJlM1oUCh+QB53qqMsoA4suw\u003d\u003d", "Zertifizierungsstellen": [ "MIIBQjCB6aADAgECAgjpBPMKsgcquDAKBggqhkjOPQQDAjAXMRUwEwYDVQQDDAxSZWdLYXNzYSBaREEwHhcNMTUxMTI1MTgyMDAwWhcNMTUxMTI2MTgyMDEwWjAWMRQwEgYDVQQDDAtSZWdLYXNzYSBDQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABD9H1201KyCgCxOcEh4L2gWtEeO1I3mV9fD2hHrUkOIBk3lLA+ng38vtCqP03uE+u7U2ezubgKSX06vKKdgfpBijIDAeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMAoGCCqGSM49BAMCA0gAMEUCIQCL4VRfAd6H18Zqibe67BhOdcqy16vyzKSVv7oBY4OoSAIgSFrZ8iTHWtIqO/8Xv1c1mrjPhQ6/iXfyVLKZDq4O/oA\u003d" ], "Belege-kompakt": [ "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMF9ERU1PLUNBU0gtQk9YODE3XzgzNDY4XzIwMTUtMTEtMjVUMTk6MjA6MTBfMCwwMF8wLDAwXzAsMDBfMCwwMF8wLDAwX3NxdjNYSGNJOG1VPV8tMzY2Nzk2MTg3NTcwNjM1Njg0OV9kM1lVYlM0Q29Sbz0.7xi1XGF613-KuNA65Ov7fVnRPuw3aFfuSy0mKpXsSaCvRLw-zNKaH0rcifAYRBTxsqsKDoi9v4-4rchs_CI3SQ", "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMF9ERU1PLUNBU0gtQk9YODE3XzgzNDY5XzIwMTUtMTEtMjVUMTk6MjA6MTFfMjksNzNfMCwwMF8zNiw0MV8wLDAwXzIxLDE5X1UxUlBfLTM2Njc5NjE4NzU3MDYzNTY4NDlfVkR1dVVINGwzT3c9.U2ljaGVyaGVpdHNlaW5yaWNodHVuZyBhdXNnZWZhbGxlbg", "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMF9ERU1PLUNBU0gtQk9YODE3XzgzNDcwXzIwMTUtMTEtMjVUMTk6MjA6MTFfMCwwMF8wLDAwXzAsMDBfMCwwMF8wLDAwX3ZYdnFsV3kwemNNPV8tMzY2Nzk2MTg3NTcwNjM1Njg0OV9SSGZrVGtJY0h1bz0.lmNPnzblcm3Puc_oyMSA8yIrrGR0Z27NPbcUFO124PMEI8WjAHWZgzEZgQmygDrMeUfnT0B752AbCWmupfXkaA", "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMF9ERU1PLUNBU0gtQk9YODE3XzgzNDcxXzIwMTUtMTEtMjVUMTk6MjA6MTFfMCwxNl8yNSw5M182LDY2XzE2LDI5Xy03LDg2X1ZGSkJfLTM2Njc5NjE4NzU3MDYzNTY4NDlfaUFSaTMzczE2SFE9.uy11qMAhtVEMxt3V784xZGMqWBHS9Du6JkwVL_4tQJ4Q9w_I3SyVYcfJSoN3qZ5q0HNyJPdrQkSCoOI4TeNpiw", "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMF9ERU1PLUNBU0gtQk9YODE3XzgzNDcyXzIwMTUtMTEtMjVUMTk6MjA6MTFfMCwwMF80MiwyNV8wLDAwXzAsMDBfMCwwMF8vVldoZUh1eDAxaz1fLTM2Njc5NjE4NzU3MDYzNTY4NDlfRkVOWjdZNVdsTkk9.U2ljaGVyaGVpdHNlaW5yaWNodHVuZyBhdXNnZWZhbGxlbg", "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMF9ERU1PLUNBU0gtQk9YODE3XzgzNDczXzIwMTUtMTEtMjVUMTk6MjA6MTFfMCwwMF8wLDAwXzAsMDBfMCwwMF8wLDAwX2dpc2pxWGFBR1VnPV8tMzY2Nzk2MTg3NTcwNjM1Njg0OV9weFhlTG4vZXhTRT0.7zuJvnOiEjC7EBIUJTUv7lGSYipN46P5pa0GzB3GDyBQgayBLZgIW5PHHxmyDgWNvhxe2JTUq-zq67bksW7AiA", "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMF9ERU1PLUNBU0gtQk9YODE3XzgzNDc0XzIwMTUtMTEtMjVUMTk6MjA6MTFfMTAyLDc5XzAsMDBfNSwzM182NywxNV8wLDAwX1ZGSkJfLTM2Njc5NjE4NzU3MDYzNTY4NDlfRi9NUFh0WXNkc1U9.Fo3SIQRW5CHacsZNkwoUAP0sGNjV10mwcrAbLw7Hzc5WJrPgt7psiUYxo73uz7dSbh-NG9I10Z8r2soIaqbT2w", "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMF9ERU1PLUNBU0gtQk9YODE3XzgzNDc1XzIwMTUtMTEtMjVUMTk6MjA6MTFfMTAsOTNfMTI4LDA3XzAsMDBfNzEsMjFfMjQsNDdfVkZKQl8tMzY2Nzk2MTg3NTcwNjM1Njg0OV9YTkFBSEw2d01NWT0.U2ljaGVyaGVpdHNlaW5yaWNodHVuZyBhdXNnZWZhbGxlbg", "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMF9ERU1PLUNBU0gtQk9YODE3XzgzNDc2XzIwMTUtMTEtMjVUMTk6MjA6MTFfMCwwMF8wLDAwXzAsMDBfMCwwMF8wLDAwX1pSbEtrcGloU3hRPV8tMzY2Nzk2MTg3NTcwNjM1Njg0OV9uOHhlMldhRlAzaz0.CJgrPK-3SBVUoqSCJpS0kmRxkbELv65TCT5wJNCqpTgoi4FspIOT3F5JWEU4dg9Na3OB4goJftcnG3NLJfmJig", "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMF9ERU1PLUNBU0gtQk9YODE3XzgzNDc3XzIwMTUtMTEtMjVUMTk6MjA6MTFfMCwwMF8wLDAwXzAsMDBfOCw3N18tNiw3MF9WRkpCXy0zNjY3OTYxODc1NzA2MzU2ODQ5X0VFTnU3eEhxaFU0PQ.jHDubN2qyb19M-BpNJrrvbULZSl9YvWtnowtfioIuCLFuXd05vrVbjtdPdOkQk4ZJUYUuk5kxja6QlhDxQ51Hg" ] },

ErichFreitag commented 7 years ago

Siehe RKSV Detailspezifikation Punkt 11: "Der Wert dieses Feldes ist ein JSON-Array. Die Elemente des JSON-Arrays entsprechen der Kette aller Zertifizierungsstellen, die für die Ausstellung des Signatur- bzw. Siegelzertifikats verwendet wurden. Der Wert eines Elements entspricht dem BASE64-kodierten Wert des im DER-Format kodierten Zertifikats".

Wenn sie sich ein Zertifikat z.B. in Windows ansehen, dann haben sie dort eine Hierarchiestruktur unter "Zertifizierungspfad". Also beispielsweise ein von A-Trust ausgestelltes Zertifikat hat dann als Eintrag das Zertifikat von A-Trust selbst.

TKast commented 7 years ago

Wie ich lese sind die beiden Felder "Signaturzertifikat" und "Zertifizierungsstellen" im DEP-Export optional.

Wie sieht es aber aus, wenn man abwechselnd mit verschiedenen Zertifikaten signiert. Muss man dann mehrere BELEG-GRUPPEN machen oder darf man alles in einer Gruppe innerhalb von "Belege-kompakt" exportieren?

lebail commented 7 years ago

Wenn die optionalen Felder nicht benutzt werden, darf bzw. muss alles in einer Gruppe exportiert werden. Siehe Detailfragen-Dokument, Beispiel auf Seite 58 unten.

Wobei die dortige Formulierung "wenn keine Signaturzertifikate vorhanden sind" eventuell missverständlich sein könnte. Denn vorhanden sind die Zertifikate ja, sie werden nur nicht ins DEP geschrieben.

espeitslo commented 7 years ago

Wie ich es verstehe, muessen die Gruppiert werden, denn ja wenn nur Information: "Signatur Zertifikat" nicht im DEP ist, heist ja nicht dass auch JWS reps mit "Sicherheitseinrichtung ausgefallen" signiert sind (was ein grund fuer keine Gruppierung waere) sondern signiert und dass auch moeglicherweise mit verschiedene Zertifikate

asitplus-pteufl commented 7 years ago

Einfache Antwort: Sig-Zert und Stellen weglassen, alles in eine Gruppe, sprich Array schreiben.