当客户端请求密钥并使用ObjectOutputStream将公钥发送给客户端时,我的servlet会生成一对密钥(公钥和私钥),这很好。
然后,客户端使用公钥加密数据,并再次将其发送到servlet。再次,servlet从一开始就执行,并生成了一组新的密钥,这是我不想要的。
我想使用旧的私钥来解密消息吗?
我该怎么办?
在创建servlet本身时只创建一次密钥,而不是在每个请求时创建。您可以在servlet的init
方法中创建公钥和私钥对,然后将其存储在servlet的实例变量中。
这里有一个很好的描述。