0

我必须在我的项目中将 OpenSSL 库更改为 PolarSSL,但我遇到了一些麻烦。当我使用OpenSSL 库中的以下函数加密我的会话密钥时

RSA_public_encrypt((const int)session_key_len,(const unsigned char*) session_key
                  , (unsigned char*)encrypted_session_key, ctx->server_pubkey
                  , RSA_PKCS1_PADDING);

远程服务器将成功授权我。但是,如果我使用PolarSSL 库中的 OpenSSL 包装器,我会收到不同的 encrypted_session_key 并且远程服务器拒绝连接。

RSA 服务器公钥大小:2048 位。会话密钥长度:64 字节。加密密钥长度:256 字节。

怎么了?OpenSSL 的 RSA_public_encrypt 函数和 PolarSSL 的 rsa_pkcs1_encrypt 函数有什么区别?

4

1 回答 1

0

我会查看 PolarSSL 中的示例程序o_p_test(我相信programs/test/)。它并排显示 PolarSSL RSA 加密和 OpenSSL 加密。

我相信 OpenSSL 包装器较旧且未维护..

于 2014-04-28T13:13:12.473 回答