/*----------------实现了生成 DH 密钥参数------------*/
//DH_generate_parameters_ex
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
#include <openssl/dh.h>
#ifdef OPENSSL_FIPS
# include <openssl/fips.h>
#endif
static int dh_builtin_genparams(DH *ret, int prime_len, int generator,
BN_GENCB *cb);
int DH_generate_parameters_ex(DH *ret, int prime_len, int generator, //产生dh参数,保存到dh结构体
BN_GENCB *cb)
{
#ifdef OPENSSL_FIPS //FIPS 联邦信息处理标准是一套描述文件处理、加密算法和其他信息技术标准的标准。
if (FIPS_mode() && !(ret->meth->flags & DH_FLAG_FIPS_METHOD)
&& !(ret->flags & DH_FLAG_NON_FIPS_ALLOW)) {
DHerr(DH_F_DH_GENERATE_PARAMETERS_EX, DH_R_NON_FIPS_METHOD);
return 0;
}
#endif
if (ret->meth->generate_params) //generate_params是生成DH密钥参数的回调函数
return ret->meth->generate_params(ret, prime_len, generator, cb);//
openssl开源程序dh算法解析之dh_gen.c
最新推荐文章于 2024-05-12 22:40:48 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)