我正在尝试为 mbedtls 编写一个测试函数,它随机生成一个用于 AES 加密的密钥。我使用 mbedtls 的原始教程代码。执行“mbedtls_ctr_drbg_seed()”时,我的程序总是停止。
关于我的环境:STM_CUBEmx 的基本源文件,板:ST32F767 Nucleo,基于 STM_Cube 的 Makefile 编译
mbedtls_ctr_drbg_context ctr_drbg;
mbedtls_entropy_context entropy;
char *pers="anything";
int ret;
//Start
mbedtls_entropy_init(&entropy);
debugPrintln("Init entropy done");
mbedtls_ctr_drbg_init(&ctr_drbg);
debugPrintln("Init ctr_drbg done");
if((ret=mbedtls_ctr_drbg_seed(&ctr_drbg,mbedtls_entropy_func,&entropy,(unsigned char *) pers,strlen(pers)))!=0){
//Error info
debugPrintln("ERROR ctr_drbg_seed ");
return -1;
}
debugPrintln("Init ctr_drbg_seed done");
if((ret=mbedtls_ctr_drbg_random(&ctr_drbg,key,32))!=0){
return -1;
}
先感谢您