瑞星 发表于 2024-7-16 21:57:48

OpenSSL RSA相关基本接口和编程示例

本文测试代码基于Openssl版本:1.1.1f
RSA接口

接口简介


[*]RSA对象创建
int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb);

功能:创建⼀对rsa的公钥私钥
参数:RSA密钥指针,密钥bit位数,公钥指数的⼤数形式指针,回调函数
返回:成功返回1,失败返回0
e主要有两个取值:第二个更常用
# define RSA_3 0x3L
# define RSA_F4 0x10001L
注意1:旧接口RSA_generate_key已经被废弃
注意2:回调函数可为null,在key的生成过程中会生成素数,cb会在生成素数之后对其进行处理
[*]加密解密接⼝


[*]公钥加密--私钥解密
int RSA_public_encrypt(int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding);功能:公钥加密,将⻓度为flen的from字符串加密,使用to指针返回密文,返回to的⻓度便是RSA_size(rsa)参数:明⽂⻓度(flen需要满⾜padding的限定规则),明⽂,密⽂,密钥,padding填充模式padding填充模式有:    RSA_PKCS1_PADDING: flen
页: [1]
查看完整版本: OpenSSL RSA相关基本接口和编程示例