【发布时间】:2026-01-02 02:45:01
【问题描述】:
我正在尝试在客户端和服务器之间进行加密通信。当服务器启动时,会生成其公钥和私钥 RSA。客户端向服务器询问其公钥,服务器将密钥发送给客户端。服务器以 JSON 格式发送公钥:
Gson gson = new Gson();
String key = gson.toJson(pubKey);
在客户端,我试图通过以下方式获取密钥:
Gson gson = new Gson();
PublicKey pubServerKey = gson.fromJson(responce_json, PublicKey.class);
但是我遇到了 here 描述的异常
所以我正在尝试为 pubServerKey 定义一个 InstanceCreator,如下面的代码所示
class PublicKeyInstanceCreator implements InstanceCreator<PublicKey> {
public PublicKey createInstance(Type type) {
return new PublicKey(Object.class, 0L);
}
}
但这次我遇到语法错误:无法实例化类型 PublicKey
你能建议我如何解决这个问题吗? 在这种情况下,Json 是一种将 RSA 公钥从服务器传递到客户端的好方法吗?
不胜感激,谢谢。
【问题讨论】:
标签: java encryption rsa instance gson