2016-07-22 36 views
2

我们已经移植这是使用OpenSSL来MBEL TLS的应用程序。 mbel TLS的一个问题是远未完成的文档,并将细节留给假设或探索以及未来版本中事物将如何改变的风险。mbed TLS初始化

虽然我们已经移植,我们仍然在其初始化函数不明确被调用一次,对每个连接执行该初始化函数。基于示例应用程序,我们为每个连接调用以下初始化函数。

mbedtls_ctr_drbg_init(&ctr_drbg); 
mbedtls_net_init(&server_fd); 
mbedtls_ssl_init(&ssl); 
mbedtls_ssl_config_init(&conf); 
mbedtls_x509_crt_init(&ca); 
mbedtls_entropy_init(&entropy); 

有人可以评论,如果所有这些初始化函数将被调用的每个连接或一些只能只是一次?

感谢

+0

@EJP - 我删除了OpenSSL的标签。与OpenSSL唯一相关的似乎是它的名字。随意重新标记问题。 – jww

+0

看起来mbed.org在[mbed TLS教程](https://tls.mbed.org/kb/how-to/mbedtls-tutorial)上有一个温和的例子。也许这可以帮助你一起? – jww

+0

@jww这是一个通用的教程,并没有解决哪个应该是一次应该为每个连接。 – yumoji

回答

0

如果按照ssl_pthread_server例子,你会看到只有mbedtls_ssl_context应该是每个连接不同。其余部分对于所有连接应该是通用的,因此启动一次。
问候,
Mbed TLS团队成员
罗恩

+0

谢谢,这是一个相当古老的查询。顺便说一句,虽然我们喜欢mbedtls,但由于我在mbedtls论坛​​上也有分享的性能问题,我们不得不放弃它。您应该认真考虑添加优化的特定于平台的AES例程(可能来自openssl/boringssl) - 至少我们期望它适用于ARM平台,因为mbedTLS现在是ARM的一部分。 – yumoji

+0

我对延迟回答表示歉意。我最近创建了一个帐户,并通过未经回复的帖子,为了记录,以及社区的利益。 –

+0

另外,还有一个挂起的PR,用于https://github.com/ARMmbed/mbedtls/pull/1173中的ARM加密扩展。 –