问题标签 [mbedtls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
246 浏览

c - mbedTLS sha256 的性能现实吗?

目前我在 stm32f7 核板上测试了 mbedTLS 的 sha256 性能。我用cycle counter register. 测量公式如下所示:

我已经在sha执行硬件散列的微芯片 atecc508a 上测试了命令,它需要18ms散列 32 字节的数据。

使用 mbedTLS 在软件中只需要0.05ms散列 32 字节的数据。

我知道我必须记住,通过 i2c 进行的通信需要额外的时间进行操作,但这些结果是否合法?这两个操作之间会存在这样的差异吗?

两个操作都将相应的哈希返回到某个 32 字节的输入。

如果有人能回答我的问题,将非常感谢。

0 投票
1 回答
1124 浏览

c - mbedTLS ECC 操作

我已经在 mbedtls 的文档中搜索了我的问题,但没有明确的答案。

有没有办法使用 mbedTLS 生成公钥和私钥 ECC 密钥?在教程的帮助下,我已经可以sha256正常工作,但似乎ECC operations没有很好的记录。

有没有关于如何在 NIST P-256 曲线上生成私钥/公钥的示例?

谢谢你的帮助。

0 投票
1 回答
572 浏览

azure - 由于证书错误,与 Azure IoT Hub 的 SSL 握手失败

我正在尝试将 azure-iot-sdk-c 移植到 stm32f767zi 板上,并且取得了一定的成功。但是,现在该程序正处于尝试与服务器 mbedtls 进行 SSL 握手的地步,无法验证我针对服务器证书提供的证书。日志行是:

x509_verify_cert() 返回 -9984 (-0x2700)

这转化为 MBEDTLS_ERR_X509_CERT_VERIFY_FAILED 错误

我尝试过提供不同的证书(Baltimore Cyber​​Trust Root,Microsoft IT TLS CA 1,使用发送来验证的证书),但它们都失败并出现相同的错误。

我已将失败范围缩小到 mbedtls 库中的 mbedtls_rsa_rsassa_pkcs1_v15_verify() 失败并出现错误:

MBEDTLS_ERR_RSA_INVALID_PADDING

由于我假设 LwIP 和 mbedtls 工作正常,我只能相信我提供的证书或我的配置之一是错误的,但我对 mbedtls/ssl 了解不足,无法知道我使用的是哪个配置/证书应该使用。

总的来说,我的问题是,我用于尝试连接的证书(巴尔的摩 Cyber​​Trust Root)是否是正确的证书,以及我没有设置的 mbedtls 中是否有任何明显的设置?

0 投票
2 回答
585 浏览

openssl - mbedTLS 添加到项目中

我是新手,有一些使用 mbedTLS 的任务。我可以询问如何在makefile中将它添加到我的项目中吗?在 mbedTLS 上进行 make 或 make 安装后,我没有在根存储库中找到静态库。

提前感谢您的回复。

0 投票
0 回答
79 浏览

c - 如何为此方法格式化字符串?

我在尝试使此方法起作用时遇到问题,我正在尝试将 mbedtls 与 psk 一起使用。事实证明,对于像我这样的 C 新手来说,他们的例子很难理解。

使此方法起作用的预期字符串格式是什么?目前,我有

char * list = "JD,4f07d80fde6469fbdbf1f154a47f27c916dba68b644ff1ffa26295e598855810";

*end = ','它被传递给该方法,但是在尝试添加时我不断收到段错误。

0 投票
1 回答
437 浏览

c - 如何使用 mbedTLS 库或 openssl 检查证书是 CA 或用户证书

我有从客户那里收到的证书。在我的服务器应用程序中,我需要检查收到的证书是 CA 证书还是用户证书。我目前正在使用 mbedTLS 库来实现安全性。已经有一个例子可以在 JAVA 中检查这种情况。同样,我想知道如何使用 mbedTLS 库或 OpenSSL 命令进行检查。

0 投票
1 回答
40 浏览

c - MBEDTLS 是否有错误查找功能?

我目前正在为一个项目使用 mbedtls。我想知道是否有一个错误查找功能会接收错误代码并返回某种错误消息?

0 投票
1 回答
1477 浏览

c - 无法使用 mbedtls 示例客户端连接到 https 服务器

编辑:我在主板和我的计算机上使用 python SSL 服务器测试了一个静态 IP,它按预期工作,让我相信 DHCP 是问题所在。如果有人对可能发生的事情有所了解,将不胜感激。

我在 STM32F746-NUCLEO 板上使用 mbedTLS 库,我想将它用作 SSL 客户端和服务器。服务器运行良好,所以我尝试使用客户端示例代码(原样,在一个单独的项目中)。

以下mbedtls_net_connect调用返回 -68 (MBEDTLS_ERR_NET_CONNECT_FAILED)。深入挖掘发现这是由于路由错误(来自 LwIP 的 tcp.c 中的第 900 行),因为 local_ip 设置为 0。该板在连接到 Internet 的家庭路由器上处于 DHCP 模式。目标服务器已启动并正在运行,并且SERVER_NAME是纯文本的 IP 地址。

这里的 SSL_Server 函数是一个在main(). 我还可以确认发生错误时已为网络接口分配了 IP 地址。我希望连接调用返回 0 并连接到服务器以启动 SSL 握手。

0 投票
1 回答
407 浏览

c - libtomcrypt 的 RSA 签名验证失败

我在一个项目中使用 libtomcrypt,特别是使用 RSA 散列和签名一些数据。由于内存要求,我想切换到 mbedtls。但是,在尝试使用 mbedtls 验证 libtomcrypt 生成的签名时,我注意到了一个问题。存在填充 (PKCS#1 PSS) 解码问题。

因为我不知道这些库中的哪个(可能)有错误,所以我使用 openssl 来验证。

我使用 openssl 成功验证了使用 mbedtls 生成的签名,并且在验证生成的形式 libtomcrypt 时验证失败,这让我认为 libtomcrypt 有错误。

但是,因为这可能是一个配置问题,所以我创建了一个带有最少示例的存储库,希望有人可以检测到来自我而不是库本身的问题。

测试仓库在这里

感谢您收到的任何帮助!

0 投票
0 回答
189 浏览

cryptography - 如何使用 XMC4500 正确生成 1024 位 rsa 密钥对?

我正在尝试使用英飞凌 XMC4500 f100k1024 生成 RSA 1024 位密钥对。目前,我使用 openssl 在外部生成密钥对。然后,为了签署和验证数据,我使用 mbedtls 包没有问题。用这个包生成这个 RSA 密钥对我没有成功。

我尝试使用 mbedtls 上可用的函数来生成密钥对(mbedtls_ctr_drbg_seed 和 mbedtls_rsa_gen_key),但是,在其中一个函数期间(在 mbedtls_rsa_gen_key 上,我猜是在找到 Q 素数时),程序最终出现硬故障情况。

你能告诉我我做错了什么吗?还有更多的软件包可用于在微控制器单元上创建 RSA 密钥吗?

编辑:错误发生在我调用函数 mbedtls_rsa_gen_key 的行上。KEY_SIZE 是 1024,EXPONENT 是 65537。

最好的问候,里卡多