Sehr geehrter Herr Professor Flatscher,
die Fehlermeldung entsteht beim ausführen des Programms im Anhang, Zeile 18 , beim Aufruf der zuvor beschriebenen Methode. Die Dateien sind erneut im Anhang und hier: SHA256Digest = bsf.import("org.bouncycastle.crypto.digests.SHA256Digest")
a = "TESTSTRING" /* init */ sha256 = SHA256Digest~new /* sha256~update(BsfRawBytes(a), 0, length(BsfRawBytes(a))) */ /* java erkennt die argumente bei der oberen ausführung als strings, deswegen invokestrict: */ sha256~bsf.invokeStrict("update",object, BsfRawBytes(a),integer, 0,integer, length((a))) /* wird benötig zum erstellen des Bytearrays passender größe: */ digestsize = sha256~getDigestSize()
/* result = sha256~bsf.invokeStrict("doFinal", ,integer, 1) */ array1 = bsf.createJavaArray("byte.class", digestsize) /* ausgabe = sha256~doFinal(array1, 1) */ /* selbes problem: zweites argument wird als string erkannt, sollte integer sein */ ausgabe = sha256~bsf.invokeStrict("doFinal", Byte, array1, integer, 1)
::requires bsf.cls [cid:5bcc315c-a7b0-4644-b146-4f71cc120d13]
Mit freundlichen Grüßen Elias Haueis
________________________________ Von: Aj2021w aj2021w-bounces@alice.wu.ac.at im Auftrag von Rony G. Flatscher Rony.Flatscher@wu.ac.at Gesendet: Samstag, 29. Jänner 2022 17:17 An: aj2021w@alice.wu.ac.at aj2021w@alice.wu.ac.at Betreff: Re: [Aj2021w] Abschlussprojekt, Bitte um Hilfe
Liebe Gruppe,
bitte posten Sie die Rexx-Anweisungen und die *vollständige* Fehlerausgabe, die entsteht!
Wenn Sie nicht alle Informationen so exakt wie möglich mitteilen, kann man Ihnen nicht direkt helfen!
Mit freundlichem Gruß
Rony G. Flatscher
On 29.01.2022 16:54, Elias Haueis wrote: Sehr geehrte Kolleginnen und Kollegen,
leider ist es uns bis jetzt noch nicht gelungen, unser Problem zu lösen und bitten daher um Hilfe: Im Anhang finden Sie einen Screenshot der Fehlermeldung, sowie eine .rxj Datei, welche das Problem veranschaulichen soll.
Die zu implementierende Klasse aus der BouncyCastle Library lautet "SHA256Digest" org.bouncycastle.crypto.digests.SHA256Digest
Unserer Meinung nach entsteht das Problem folgendermaßen: Die Klasse besitzt die Methode "doFinal", als Parameter unter anderem ein leeres ByteArray (mit passender Größe!) bekommt. In dieses ByteArray werden die verarbeiteten Daten hineinkopiert. Dies ist in Java problemlos möglich, allerdings sind wir in oorexx bislang daran gescheitert.
verwendete versionen: ooRexx: Open Object Rexx Version 5.0.0 r12342 BSF4ooRexx: bsf4ooRexx-v641-20211118-bin.jar JAVA: openjdk version "17.0.1" 2021-10-19 LTS BouncyCastle: bcprov-ext-jdk15on-170.jar
Wir sind für jegliche Hilfe dankbar! Mit freundlichen Grüßen Antonia und Elias
-- -- __________________________________________________________________________________
Prof. Dr. Rony G. Flatscher Department Wirtschaftsinformatik und Operations Management Institut für Wirtschaftsinformatik und Gesellschaft D2c 2.086 WU Wien Welthandelsplatz 1 A-1020 Wien/Vienna, Austria/Europe
http://www.wu.ac.at __________________________________________________________________________________