Hej,
ich versuche ein Object zu verschlüsseln und dann über einen Socket von einer Anwendung an eine andere zu senden.
das senden sieht so aus
und das empfangen so
Solange beide Anwendungen auf dem selben PC laufen klappt das soweit auch.
aber wenn die Anwendungen auf verschiedenen Rechnern laufen bekomme ich immer eine IllegalBlockSizeException
wenn ich die Daten statt in den Stream in eine Datei speichere (Netzlaufwerk) dann funktioniert das ganze.
Steh ein wenig auf dem schlauch, was mach ich falsch ?
Danke schon mal
ich versuche ein Object zu verschlüsseln und dann über einen Socket von einer Anwendung an eine andere zu senden.
das senden sieht so aus
Java:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos;
oos = new ObjectOutputStream(baos);
oos.writeObject(myarraylist);
byte[] byteObjects = baos.toByteArray();
encryptedObject = cipher.doFinal(byteObjects);
OutputStream os = socket.getOutputStream();
bufferedOutputStream bos = new BufferedOutputStream (os);
bos.write(encryptedObject);
bos.flush();
und das empfangen so
Java:
Socket socket = new Socket(host, port);
InputStream is = socket.getInputStream();
byte[] buffer = new byte[8192];
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int bytesRead;
while ((bytesRead = is.read(buffer)) != -1)
{
byteArrayOutputStream.write(buffer, 0, bytesRead);
if (bytesRead < 8192)
{
break;
}
}
byte[] data = byteArrayOutputStream.toByteArray();
byte[] decryptedObject = cipher.doFinal(data);
ByteArrayInputStream bais = new ByteArrayInputStream (decryptedObjects);
ObjectInputStream ois = new ObjectInputStream(bais);
ArrayList<Item> myarraylist = (ArrayList<Item>) ois.readObject();
Solange beide Anwendungen auf dem selben PC laufen klappt das soweit auch.
aber wenn die Anwendungen auf verschiedenen Rechnern laufen bekomme ich immer eine IllegalBlockSizeException
wenn ich die Daten statt in den Stream in eine Datei speichere (Netzlaufwerk) dann funktioniert das ganze.
Steh ein wenig auf dem schlauch, was mach ich falsch ?
Danke schon mal