gpt4 book ai didi

c - mbedtls:mbedtls_ctr_drbg_seed 错误

转载 作者:太空宇宙 更新时间:2023-11-04 00:00:02 24 4
gpt4 key购买 nike

我正在使用 mbedtls 来运行 SSL 服务器。mbedtls_ctr_drbg_seed 函数返回 -34。我的代码如下:

const char *pers = "ssl_server2";
mbedtls_havege_state hs;
mbedtls_ssl_session ssn;
mbedtls_entropy_context entropy;
mbedtls_ctr_drbg_context ctr_drbg;
// One HTTPS Request Handling
memset( &ssn, 0, sizeof( mbedtls_ssl_session ) );
/*
* 4. Setup stuff
*/
mbedtls_ssl_init( &ssl );
mbedtls_ssl_config_init( &conf );
mbedtls_ctr_drbg_init( &ctr_drbg );
mbedtls_entropy_init( &entropy );
printf( " . Setting up the RNG and SSL data...." );
if( ( ret = mbedtls_ctr_drbg_seed( &ctr_drbg, mbedtls_entropy_func, &entropy, (const unsigned char *) pers, sizeof( pers ) ) ) != 0 )
{
printf( " failed\n ! mbedtls_ctr_drbg_seed returned -0x%x\n", -ret );
goto ExitFunction;
}
else
printf( " mbedtls_ctr_drbg_seed returned 0x%x ok\n", ret );

最佳答案

正如@Gilles 所说,您收到的错误可能是 -0x34,即 MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED。当函数 mbedtls_entropy_func() 失败时返回此错误。请检查您使用的熵源是否足够强,这意味着您至少有一个强熵源,当使用 mbedtls_entropy_add_source() 添加时。您还应该验证您正在使用的熵源可以收集足够的熵,并且超过为源设置的阈值。
mbedtls_entropy_func() 可能在其他位置失败,因此我建议您也检查这些位置。

关于c - mbedtls:mbedtls_ctr_drbg_seed 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48867423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com