Hallo zusammen,
schreibe eine Art Chat-Umgebung, bei der Nachrichten von angemeldeten Benutzern auf einem RMI-Server abgelegt und wieder abgefragt werden können. Diese Nachrichten werden als byte[] in einem Vector gepeichert, damit man später auch die Cipher-Maschine von Sun darauf loslassen kann.
Das Senden und Empfangen unverschlüsselter Nachrichten geht.
Das Ver- und Entschlüsseln macht Probleme. Hier mein Entschlüsselungs-Quelltext:
geheimtextbytes und klartextbytes sind vom Typ byte[]. Der RMI-Server (bzw. das zugehörige Interface) hat Methoden:
Nun der Fehler: beim Entschlüsseln des vom RMI-Server gelieferten arrays geheimtextbytes kommt die Meldung:
javax.crypto.BadPaddingException: Data must start with zero
Da alles läuft, wenn ich lokal meine bytes[] bearbeite, denke ich in die Richtung, dass beim Senden oder Empfangen über RMI irgendetwas mit meinen bytes[] geschieht, von dem ich (wie von so vielem) keine Ahnung habe.
Wer kann helfen?
Ich danke schon einmal im voraus.
schreibe eine Art Chat-Umgebung, bei der Nachrichten von angemeldeten Benutzern auf einem RMI-Server abgelegt und wieder abgefragt werden können. Diese Nachrichten werden als byte[] in einem Vector gepeichert, damit man später auch die Cipher-Maschine von Sun darauf loslassen kann.
Das Senden und Empfangen unverschlüsselter Nachrichten geht.
Das Ver- und Entschlüsseln macht Probleme. Hier mein Entschlüsselungs-Quelltext:
Java:
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE, kp.getPrivate());
klartextbytes = cipher.doFinal(geheimtextbytes);
geheimtextbytes und klartextbytes sind vom Typ byte[]. Der RMI-Server (bzw. das zugehörige Interface) hat Methoden:
Java:
public void sendMessage(String name, byte[] msg) throws RemoteException;
public byte[] getNextMessage(String name) throws RemoteException;
Nun der Fehler: beim Entschlüsseln des vom RMI-Server gelieferten arrays geheimtextbytes kommt die Meldung:
javax.crypto.BadPaddingException: Data must start with zero
Da alles läuft, wenn ich lokal meine bytes[] bearbeite, denke ich in die Richtung, dass beim Senden oder Empfangen über RMI irgendetwas mit meinen bytes[] geschieht, von dem ich (wie von so vielem) keine Ahnung habe.
Wer kann helfen?
Ich danke schon einmal im voraus.