我正在尝试制作一个使用RSA加密的程序来加密和解密发送到多台计算机和从多台计算机发送的数据。我有一个文件夹,可以在我的计算机上存储其他计算机的公钥。但是,我似乎无法加载此密钥文件并创建指向它的publicKey对象。我目前的尝试如下所示,但我想知道其他人使用什么方法来做这件事?
//Returns the key of a friend (given as input)
public PublicKey getFriendsKey(String friend){
try{ObjectInputStream friendsKeyInput = new ObjectInputStream(new fileInputStream(programLocation + "/Text Files/encryptionKeys/" + friend + "PublicKey.key"));
PublicKey friendsKey = friendsKeyInput.readObject();
}
catch(Exception e){e.printStackTrace();}
return friendsKey;
}
答案 0 :(得分:0)
为什么使用ObjectInputStream?很可能你的密钥不是serializable java object。 看到这个答案。 Load RSA public key from file