Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehlermeldung ERIC35 Taxonomie 6.4 Bilanz

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Fehlermeldung ERIC35 Taxonomie 6.4 Bilanz

    Wir haben eine pfx-Datei und ein dazugehöriges Passwort. das einloggen in Elster funktioniert einwandfrei.
    Dann haben wir ein ERIC Anwendung (Jahresbilanz 6.4) - Der Check mit dieser pfx-Datei und dem dzugehörigen Passwort funktioniert einwandfrei.
    Der Programm Anwendung "testsend" zeigt folgende Fehlermeldung:
    System.Exception: ERIC_CRYPT_E_PIN_WRONG wurde bei BearbeiteVorgang zurueckgegeben. Demo wird abgebrochen
    Wer kann mir einen Hinweis geben. Zum besseren Verständniss zwei log-dateien im Anhang.-Leider nicht möglich sagt das Programm
    Was kann ich tun, damit Sie mir helfen können

    #2
    Hatten wir das Thema nicht gestern schon mal? https://forum.elster.de/anwenderforu...pt_e_pin_wrong

    BMF-Schreiben vom 23. Juli 2020: E-Bilanz; Veröffentlichung der Taxonomien 6.4 vom 1. April 2020

    Ansonsten vielleicht:
    Zitat von Beamtenschweiß Beitrag anzeigen
    Mehr kann dir ggf. unser "Bilanz-Meister" hier im Forum mhanft dazu sagen oder du googelst direkt mit der Fehlernummer.

    Kommentar


      #3
      Richtig, aber man hat uns daraufhingewiesen, dass die Frage auf ein anderes, dieses Forum gehört.
      Trotzdem, danke für den Hinweis.

      Kommentar


        #4
        Da kann ich leider auch nichts dazu sagen. Erstens weiß ich nicht, was das Programm "testsend" ist, und zweitens bedeutet die Fehlermeldung halt, dass die PIN nicht zum verwendeten Zertifikat passt. Welches Zertifikat verwendet wird, kann man in der Datei "eric.log" nachschauen (und die steht irgendwo unter AppData\Local\Temp oder so, wenn man sie nicht manuell woanders anlegt). Mehr Weisheiten kann ich dazu leider auch nicht beisteuern...

        Kommentar


          #5
          Es scheint so, als ob die Zertifikatsdatei + Passwort nicht die Ursache des Fehlers in ERIC 35 ist.

          Die Zertifikatsdatei kann erfolgreich gelesen werden, der private Schlüssel extrahiert und der Transferheader geschrieben werden.
          Der Fehler tritt je nach Nutzdaten in "eric::transfer::TransferVorgang::doVorgang" auf. Die aktive Methode logt "Signieren der XML-Daten...". Für mich ist auffällig, dass das selbe Zertifikat geht, wenn ich es mit bestimmten Nutzdaten benutze. Andere Nutzdaten funktionieren reproduzierbar nicht mit exakt dem selben Zertifikat und dem selben Passwort.

          Daher muss ich davon ausgehen, dass zumindest die Fehlermeldung inkorrekt ist. Gibt es eine Möglichkeit einen Bug bei ERIC zu melden?


          Die Fehlermeldung in eric.log lautet:
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: eric::transfer::TransferVorgang::erzeugeTransferXM L Datenverschluesselung beendet (Statuscode 0)
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: eric::transfer::TransferVorgang::doVorgang Signieren der XML-Daten...
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: eSigner: XML-AUTH fuer Token 0(PIN: >0); Eingabe der Laenge 22348;
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner +++ esiclSign()
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner hToken = 00000000
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner szPin = ******(6)
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner pucData = 000002C7DFF7E040
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner iDataLen = 22348
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner 3C3F786D6C2076657273696F6E3D22312E302220656E636F64 696E673D225554 <?xml version="1.0" encoding="UT
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner ... ...
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner 715839706C644A383D3C2F446174656E5465696C3E0D0A3C2F 456C737465723E qX9pldJ8=</DatenTeil>
          </Elster>
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner tagSignature = //elsterDefaultNs:Sig
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner tagSigData = //elsterDefaultNsatenTeil
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner iMechanismOffset = 3
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner szAbc = (null)(0)
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner ppucSignature = 000000F83899C1F8
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner piLength = 000000F83899C1F4
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner szError = 000000F83899BD40
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner iErrorLength = 1024
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner pLogger = 000000F83899C220
          2022-07-16 11:41:52,752268[0x000002c7ad717630] ERROR: esigner falsche PIN(8388614) : PKCS12_parse() : 'error:23076071:PKCS12 routines:PKCS12_parse:mac verify failure crypto\pkcs12\p12_kiss.c(78)'
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner hToken = 00000000
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner szPin = ******(6)
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner pucData = 000002C7DFF7E040
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner iDataLen = 22348
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner 3C3F786D6C2076657273696F6E3D22312E302220656E636F64 696E673D225554 <?xml version="1.0" encoding="UT
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner ... ...
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner 715839706C644A383D3C2F446174656E5465696C3E0D0A3C2F 456C737465723E qX9pldJ8=</DatenTeil>
          </Elster>
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner tagSignature = //elsterDefaultNs:Sig
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner tagSigData = //elsterDefaultNsDatenTeil
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner iMechanismOffset = 3
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner szAbc = (null)(0)
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner ppucSignature = 0000000000000000
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner piLength = 0
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner szError = error:23076071:PKCS12 routines:PKCS12_parse:mac verify failure crypto\pkcs12\p12
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner _kiss.c(78)
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner iErrorLength = 1024
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner pLogger = 000000F83899C220
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner return = 00800006
          2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner --- esiclSign()
          2022-07-16 11:41:52,752268[0x000002c7ad717630] ERROR: eSigner-Fehler Code 8388614
          2022-07-16 11:41:52,752268[0x000002c7ad717630] ERROR: eSigner: XML konnten nicht signiert werden
          2022-07-16 11:41:52,752268[0x000002c7ad717630] ERROR: signiereTransferXML() - Signierung fehlgeschlagen



          Die verwendeten Versionen lauten:
          ericapi.dll: 35, 6, 6, 0
          ericxerces.dll: 22.4.28
          eSigner.dll: 51,0,0,2
          commonData.dll: 35, 6, 6, 0
          checkBilanz_6_4.dll: 35, 6, 6, 0

          Kommentar


            #6
            Zitat von hvr_elster_forum Beitrag anzeigen
            Gibt es eine Möglichkeit einen Bug bei ERIC zu melden?
            Was spricht gegen https://www.elster.de/eportal/wizard...ular-1/eingabe ? Aber:
            Zitat von Charlie24 Beitrag anzeigen
            Das hier ist das ELSTER-Anwenderforum, für Entwickler gibt es eigene Seiten und ein eigenes Forum: https://www.elster.de/elsterweb/infoseite/entwickler
            Zitat von hvr_elster_forum Beitrag anzeigen
            Richtig, aber man hat uns daraufhingewiesen, dass die Frage auf ein anderes, dieses Forum gehört.
            Wenn jemand (z. B. bei der ELSTER-Hotline) gesagt hat, dass das Problem ein Anwenderproblem ist, dann bringt glaube ich der Programmcode hier wenig bis nichts, sondern, wenn dann eher ein Screenshot von der Eingabemaske.

            Kommentar


              #7
              Also das Protokoll

              ...
              2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner iErrorLength = 1024
              2022-07-16 11:41:52,752268[0x000002c7ad717630] INFO: esigner pLogger = 000000F83899C220

              2022-07-16 11:41:52,752268[0x000002c7ad717630] ERROR: esigner falsche PIN(8388614) : PKCS12_parse() : 'error:23076071:PKCS12 routines:PKCS12_parse:mac verify failure crypto\pkcs12\p12_kiss.c(78)'
              ...

              ist ja meiner Meinung nach ziemlich eindeutig. Die Stelle schaut in meinem eric.log so aus:

              ...
              2022-07-16 13:27:21,257525[0x007ba9a0] INFO: esigner iErrorLength = 1024
              2022-07-16 13:27:21,257525[0x007ba9a0] INFO: esigner pLogger = 0019D994
              2022-07-16 13:27:21,370155[0x007ba9a0] INFO: esigner RSA Key : key1 -> 2048 Bits
              2022-07-16 13:27:21,370155[0x007ba9a0] INFO: esigner key with certificate : key1 : 'signaturekey' sha1hash '1834CFBE54E563F30ED7A3D1AEF72354E26A6495' usage 00000080
              2022-07-16 13:27:21,370155[0x007ba9a0] INFO: esigner RSA Key : key2 -> 2048 Bits
              2022-07-16 13:27:21,370155[0x007ba9a0] INFO: esigner key with certificate : key2 : 'encryptionkey' sha1hash '5645DFCC14B12E79C615DACE27CA7734815575DB' usage 00000020
              2022-07-16 13:27:21,370155[0x007ba9a0] INFO: esigner issuer certificate : certificate0 : sha1hash '9C32500110E5126E27C270BC42075D70ED0B4B74' : type 00001004
              2022-07-16 13:27:21,370155[0x007ba9a0] INFO: esigner issuer certificate : certificate1 : sha1hash 'AB00F0C35591372334CA745B739E3324C23F3E56' : type 00001003

              ....

              Ansonsten kann auch die Zertifikatsdatei beschädigt sein. Wenn das Einloggen auf der "Mein Elster"-Website damit noch funktioniert, würde ich sie nochmal runterladen (evtl. muss man dazu das Passwort ändern, damit eine neue Datei erzeugt wird).

              Kommentar


                #8
                Zitat von schachsommer12 Beitrag anzeigen
                Was spricht gegen https://www.elster.de/eportal/wizard...ular-1/eingabe ? Aber:Wenn jemand (z. B. bei der ELSTER-Hotline) gesagt hat, dass das Problem ein Anwenderproblem ist, dann bringt glaube ich der Programmcode hier wenig bis nichts, sondern, wenn dann eher ein Screenshot von der Eingabemaske.
                Vielen Dank. Ich probiere es mal darüber.

                Kommentar


                  #9
                  Zur Aufklärung hier des Rätsels Lösung:

                  Obwohl das Zertifikat bereits gelesen (EricGetHandleToCertificate() ) und sowohl die Zertifikatseigenschaften (HoleZertifikatEigenschaften() )als auch der public key (EricGetPublicKey ()) extrahiert wurde, nimmt EricBearbeiteVorgang() nicht etwa die bereits geladenen Daten, sondern greift erneut auf die Zertifatsdatei zu.

                  Dafür verwendet es allerdings nicht den in EricGetHandleToCertificate() übergebenen Key als "value", sondern den Pointer auf die PIN. In modernen Programmiersprachen wird der Datenspeicher freigegeben falls die Referenz darauf nicht mehr wahrgenommen wird. Der ERIC-Bibliotheksverweis wird dabei nicht wahrgenommen.

                  ERGO: Falls jemand den selben Fehler bekommt, sollte er Referenzen auf die PIN behalten. Die ERIC Entwickler wären gut beraten mehrfache unnötige Zugriffe auf die Zertifiklatsdatei zu vereinfachen und übergebene Daten als value im Speicher zu halten.

                  Kommentar


                    #10
                    Wenn du willst, dass ein Entwickler das liest, musst du das im Entwicklerforum posten. Dort wird das tatsächlich an die Entwickler weitergeleitet. Hier ist das zwar nett und interessant für technisch bewanderte Leute (wie z.B. mich ), aber von ELSTER liest hier kein Mensch mit.

                    Abgesehen davon kann ich in der "ELSTER-Logik" keinen Widerspruch erkennen:
                    • erst holt man sich mit GetHandleToCertificate einen Zertifikatshandle
                    • den und die PIN baut man dann zusammen in eine struct eric_verschluesselungs_parameter_t ein, die vom Anwendungsprotgramm zur Verfügung gestellt wird und natürlich bis zum Ende im Speicher vorhanden sein muss
                    • diese struct eric_verschluesselungs_parameter_t übergibt man an EricBearbeiteVorgang
                    • und danach kann man CloseHandleToCertificate machen - und dann seine eigene struct eric_verschluesselungs_parameter_t freigeben.
                    Und natürlich muss auch die Zertifikatsdatei selbst bis zum Schluss lesbar sein - wie oft und wann und warum die während des ganzen Vorgangs möglicherweise gelesen wird, geht das Anwendungsprogramm ja nix an.

                    Und da die PIN in der struct eric_verschluesselungs_parameter_t (die man ja an EricBearbeiteVorgang übergibt) ein char * ist, darf das Anwendungsprogramm natürlich "unterwegs" auch nicht die PIN freigeben - sonst zeigt dieser char * ja in die Wüste.

                    Für mich stellt sich das durchaus logisch dar...

                    Kommentar

                    Lädt...
                    X