问题标签 [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 回答
476 浏览

java - 在 mbedtls Diffie-Hellman 中使用来自 Java 的 DER 密钥

我有一个 Java 应用程序正在为 Diffie-Hellman 密钥交换生成密钥。生成这些密钥,并导出公钥,如下所示:

其中包含的alicePubKeyEnc是我发送到我的 C++ 应用程序的公钥。据我了解,此数据是我的 DHE 参数的编码 DER 密钥。另一方面,我尝试将此密钥与 mbedtls 一起使用,如下所示:

res产生一个负的非零值 ( 0xffffcc1e)。我检查了 mbedtls 中 x509 解析的错误代码,但找不到匹配的错误代码。

知道为什么我无法加载此证书吗?

更新

我更新了我的 C 代码以打印出 mbedtls 的相关错误消息:

所以我从我的密钥中获取了十六进制值并通过http://lapo.it/asn1js/运行它(<-- 链接了密钥的实际输出),这表明我的密钥有一些结构并且似乎解析了密钥正好。也许这是我如何将密钥传递给 mbedtls 的问题?

0 投票
1 回答
462 浏览

julia - 无法在 Julia 中安装 MbedTLS 包

我无法将唯一的“MbedTLS”包从网络导入到 Julia。在 Jupyter notebook 中使用 Julia 是必需的。我已经从 git 获取了它的压缩文件

https://github.com/JuliaWeb/MbedTLSBuilder/releases

但是,我不知道如何将它成功安装到 Julia。你可以帮帮我吗?错误消息是 "security protocol somthing...""LoadError : Could not download https://github.com/quinnj/MbedTLSBuilder/releases/download/v0.6/MbedTLS.x86_64-w64-ming32.tar.gz to C:\Users\MYNAME\.julia\v0.6\Mbed"

此外,我重新安装"IJulia",然后,它出现"stackoverflow"错误。这个程序有什么问题??

0 投票
1 回答
1048 浏览

c - MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED

我试图将 Diffie-Hellman 密钥交换(客户端)编码到 XMC4500 中,我正在使用ARMmbed lib

这是我得到的代码(基于dh_client.c):

int dhm(无效){

我没有尝试更进一步,因为它不起作用并且它是 dhm 算法的开始。函数mbedtls_ctr_drbg_seed正在返回MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED

同样在ctr_drbg.h中,我必须将MBEDTLS_CTR_DRBG_MAX_SEED_INPUT从 384(默认)编辑为 336,否则代码会崩溃。其他一切都是默认的。

有人知道为什么返回此错误吗?提前致谢。

注意:我在 main 中调用此函数。运行代码没有给我任何错误。

0 投票
0 回答
187 浏览

amazon-web-services - mbedtls 熵生成 (nv_seed)

我正在使用 mbedtls 作为在我的硬件(SAM4E)上运行的亚马逊 FreeRTOS 的 TLS 库。

该库已被移植,我正在使用nv_seed方法生成随机数。我正在读取 32 位数据并将其写入 EEPROM。

我遇到了 TLS 握手失败(挂起)。调试后发现EEPROM保存和读取的数字一直都是一样的,这就是握手失败的原因。

我无法使用硬件生成随机数,因为我没有专用的 TRNG。所以,我必须以某种方式使播种工作。

0 投票
1 回答
1111 浏览

mbedtls - 使用 libmbedtls-dev 安装 mbed TLS

我目前正在使用 mbed TLS,我发现了一些奇怪的东西:

我想使用 mbedtls_rsa_export_crt() 函数 [1] 提取私有 RSA 密钥的 CRT 参数。不幸的是,缺少该功能。问题似乎是我已经通过包管理器安装了库。具体我已经安装了 libmbedtls-dev 包 [2]。

[2] 中的代码是否已弃用或为什么缺少某些功能?

[1] https://tls.mbed.org/api/rsa_8h.html

[2] https://packages.debian.org/de/sid/libmbedtls-dev

谢谢您的支持

MK14

0 投票
2 回答
904 浏览

stm32 - mbedTLS 是否适用于 STM32 F1?

堆栈mbedTLSSTfor its提供,STM32 F7 microcontrollers但不是 for STM32 F1

所以我想知道是否有原因,是否有可能mbedTLSSTM32 F1.

谢谢你。

0 投票
1 回答
6126 浏览

curl - 使用 open_ssl 和 curl 验证服务器证书

我有一个嵌入式设备(运行 mbedTLS),它只能包含非常有限数量的服务器证书,我想验证我使用 curl 放在设备上的 PEM 文件。我正在使用 icanhazip.com (IPv6) 进行验证。要创建 PEM 文件,我使用 openSSL:

并将证书部分存储在 icanhazip_com.pem 中并尝试使用 curl 进行验证:

但我收到一个错误:

0 投票
2 回答
909 浏览

mbedtls - 如何使用 mbedtls 从证书中提取单个 OID?

我有一个 x509 证书加载到 mbedtls 中,我可以通过以下方式获取整个主题字段:

可以对输出进行字符串标记以提取特定字段,但这似乎容易出错。

是否有一种简单的方法来获取该字段的单个 OID 值,例如 CN 或 OU 条目?

0 投票
1 回答
421 浏览

ssl - 用于数据连接的 FTPS 客户端程序

我正在使用 LWIP 和 mbedTLS 堆栈的嵌入式系统中开发 FTPS 客户端。

现在,我要做的是:

  • 使用 DHCP 获取 IP 地址
  • 使用 DNS 获取服务器的 IP 地址
  • 启动到服务器的 TCP 连接(控制连接)
  • 使用命令 AUTH TLS 告诉 FTP 服务器我想使用 TLS 协议
  • TLS 协议与服务器的握手
  • 验证服务器发送的 x509 证书
  • 告诉客户我想在被动模式下工作,并且我想用 RETR 命令读取文件。

现在,我需要打开一个数据连接来读取我的文件。所以我想知道的是数据连接是否以与控制连接相同的方式得到保护?这意味着我有要验证的证书吗?握手是一样的吗?

如果不清楚,请告诉我,我根本不是这方面的专家。

感谢您未来的回复

0 投票
1 回答
1013 浏览

aes-gcm - 在 ESP32 解密上使用 mbedtls 的 AES128-GCM 不起作用

我目前正在开展一个项目,以使用带有 ESP-IDF 工具链的 ESP32 解密来自智能电表的字节流。(此处为感兴趣的人提供智能电表规范:P1PortSpecification.pdf,第 2.6 章第 9 页)。

我正在使用状态机将流拆分为文档中的不同部分,当将它们打印到终端时,我得到了预期的结果,所以我认为当前的输入是正确的。

进入解密有效负载的最终状态我不确定我是否正确使用了 mbedtls 库,因为我无法让它正常工作。使用的加密是 AES128-GCM,因此我使用的是 gcm.h。这是我当前的功能:

为您提供有关 Encrypted_Data 外观的更多详细信息:

将两个错误都打印到终端时,我看到 err1 = 0 和 err2 = -0x0012,即:

因此,我深入研究了 gcm.c 文件,发现只有 1 个地方使用了该定义(此处),但是其他一些东西引起了我的注意。我怀疑这是一个错误,但我无法真正理解这部分背后的原因

这里找到。为什么它使用这种模式?如果我正在查看它的内容,cipher_info它会告诉我它使用的是MBEDTLS_CIPHER_AES_128_ECBas mbedtls_cipher_type_t,而不是我最初所期望的MBEDTLS_CIPHER_AES_128_GCM。这是一个问题吗?

总结一下我的主要问题:

  • 这是一个意想不到mbedtls_cipher_type_t的问题吗?
  • 我是否正确使用了 mbedtls 功能?
  • 开放寻求跟踪问题的建议,因为我仍然没有使用这个平台的经验。

谢谢阅读。