Извиняюсь за глупый запрос. Я новичок в экстремальном программировании, но любой вклад будет приветствоваться. Попытка зашифровать файл на сервере и поместить его в SealedObject для отправки клиенту, где он расшифровывается с помощью KeyAgreement. Ошибки не возникают, и новый файл создается, но он все еще кажется зашифрованным.
Сервер
//Selecting the specific file
File file = new File("test.txt");
FileInputStream fileInputStream = new FileInputStream(file);
byte[] byteFile = new byte[(int) file.length()];
fileInputStream.read(byteFile);
fileInputStream.close();
//Generating the random IV
SecureRandom sr = new SecureRandom();
byte[] IV = sr.generateSeed(8);
out.write(IV);
IvParameterSpec spec = new IvParameterSpec(IV);
//==========================
//Encryption setup
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, desKey, spec);
byteFile = cipher.doFinal(byteFile);
SealedObject so = new SealedObject(byteFile, cipher);
CipherOutputStream cos = new CipherOutputStream(out, cipher);
ObjectOutputStream outputStream = new ObjectOutputStream(cos);
outputStream.writeObject(so);
outputStream.close();
Клиент
byte[] IV = new byte[8];
in.read(IV);
IvParameterSpec spec = new IvParameterSpec(IV);
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, desKey, spec);
try {
CipherInputStream cipherInputStream = new CipherInputStream(in, cipher);
ObjectInputStream inputStream = new ObjectInputStream(cipherInputStream);
SealedObject sealedObject = (SealedObject) inputStream.readObject();
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("text.txt"));
oos.writeObject(sealedObject.getObject(cipher));
oos.close();
inputStream.close();
}
catch (Exception e){
e.printStackTrace();
}