我正在使用 openssl ( RSA + AES )在客户端和服务器之间进行加密,这是我的方案:
我是客户:
II服务器:
III客户:
我正在用 c ++ 编写服务器端代码,这是我的问题:
我是否使用相同的会话密钥进行响应?或者我应该为客户端生成RSA公钥和私钥吗?这样响应也可以由服务器端生成的随机会话密钥加密,然后使用客户端的公钥来加密会话密钥。
如果上面的Senario可以工作:我知道要获得解密的请求,我可以使用openssl的高级EVP Open
函数和加密的会话密钥以及私钥。
但是,是否有类似的高级功能来加密响应使用指定的加密会话密钥和服务器的私钥 一步?或者我应该用openssl的RSA_decrypt
和AES_encrypt
手工编写代码(但是有2个步骤)?