首页 文章

mbedtls为什么我得到“随机生成器无法生成非零”错误

提问于
浏览
1

我正在尝试移植在Ameba Board上使用mbedtls的AWS SDK . 我有一个AWS函数:iot_tls_connect来初始化mbedtls .

MCU有一个TRNG但在第一阶段使用HW TRNG并不重要 . 软件RNG和熵可以没问题 . 我尝试了很多不同的组合和mbedtls配置,但我得到以下错误

iot_tls_connect:mbedtls_ssl_handshake():RSA - 随机生成器无法生成非零aws_iot_mqtt_connect失败SSL握手错误

我的上一个代码

mbedtls_net_init(&server_fd);
mbedtls_ssl_init(&ssl);
mbedtls_ssl_config_init(&conf);
mbedtls_ctr_drbg_init(&ctr_drbg);
mbedtls_x509_crt_init(&cacert);
mbedtls_x509_crt_init(&clicert);
mbedtls_pk_init(&pkey);
/*  my_random returns random values from HW TRNG */
mbedtls_ssl_conf_rng(&ssl, my_random, NULL);

IOT_DEBUG("Seeding the random number generator...");
mbedtls_entropy_init(&entropy);

/* Added to test */
ret = mbedtls_entropy_add_source(&entropy, entropy_dummy_source, NULL, 16, 1);

if((ret = mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func, &entropy, pers, strlen(pers))) != 0) { ... }

/* Added for test as suggested in tutorials */
mbedtls_ctr_drbg_set_prediction_resistance(&ctr_drbg, MBEDTLS_CTR_DRBG_PR_ON );

它可以是我的配置文件 . 教程没有帮助 . 它阻止了我 . 任何的想法 .

谢谢 .

1 回答

  • 1

    我正在使用Ameba SDK,我在AES.c中发现了对HW Crypto模块进行修改的错误 . 这是不是一般问题的原因 .

相关问题