问题标签 [wolfssl]
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.
c - 使用 WolfCrypt 的 ECB 模式下的 AES
我在桌面软件中使用 OpenSSL,在嵌入式软件中使用 WolfCrypt(也是开源的)。对于这个项目,我必须在 ECB 模式下使用 AES,即使我知道 ECB 不是 AES 最安全的操作模式。根据这个线程(断开的链接),WolfCrypt 支持 ECB 模式,即使它没有正确记录。
我可以在 OpenSSL 中毫无问题地对数据进行编码和解码,但在 WolfCrypt 中我不能这样做。似乎 wolfCrypt 在 ECB 模式下有 192 位和 256 位长的密钥(但它似乎适用于 128 位长的密钥)。我使用以下代码注意到了这种行为。此代码加密一大块数据,对其进行解密并将结果与原始数据进行比较。如果数据匹配,则会显示成功消息。只有 128 位长的密钥似乎会产生正确的结果。
我使用 WolfSSL 3.8.0 在 VS 2013 (Windows 7) 中测试了此代码。
我在这里做错了什么还是 WolfCrypt 真的有问题?
c++ - 与 WolfSSL 握手时遇到问题
我在使用WolfSSL时遇到了一些问题。我试图在 WolfSSL 论坛上提问,但现在无法注册。
我正在使用 WolfSSL 为 Nintendo Wii 开发一个简单的电子邮件客户端。WolfSSL 是唯一声称具有 Wii 兼容性的库。我已经使用 devKitPro 成功构建了库,一切似乎都在工作,但握手失败。
这是一些示例代码:
我没有任何方法可以在 Wii 上进行调试,所以我只能进行文本调试。这是我的 WolfSSL 调试输出日志:
有任何想法吗?尝试在端口 465 上连接到 smtp.gmail.com。
ssl - wolfSSL_read() 返回 0
我正在使用 Microsoft Visual Studio 2010 和 wolfSSL 3.7.0。
我使用这些功能创建服务器上下文:
没关系。然后,我接受连接,创建 WOLFSSL* 上下文并将其与我的套接字描述符相关联:
但是当我尝试通过浏览器连接到 127.0.0.1:443 时,wolfSSL_read()
返回 0。wolfSSL_get_error()
返回-397
( SOCKET_PEER_CLOSED_E
)。浏览器向我显示该页面仍在加载。是什么原因?
gcc - 使用外部变量(ARM)发生冲突
我想在 ARM Cortex-A9 处理器上使用 wolfssl 库( https://github.com/wolfSSL/wolfssl )。所以,我在 Ubuntu 上使用了 arm-none-eabi-gcc 交叉编译器,得到了一个静态链接库“libwolfssl.a”。
编译和链接成功,但“PemToDer”函数(ssl.c)崩溃。
我通过使用日志记录功能探索了冲突点。冲突的原因是“ header=BEGIN_CERT; ”。BEGIN_CERT 是一个 const char* 类型并在 asn.c 中定义。
我关闭了 gcc 优化并再次查看了 CFLAGS,但没有任何意义。
我用 END_CERT 替换了 BEGIN_CERT,但 END_CERT 也会引起冲突。
为了找出原因,我编写了一个简单的函数,它在 wolfssl 库(libwolfssl.a)和 RTOS 的任务上返回 BEGIN_CERT,并从 RTOS 的任务中调用两个函数。
结果是……与 wolfssl 库发生冲突,而不是与 RTOS 的任务发生冲突。
所以,我比较了汇编代码。这些有一些区别。我对汇编不是很熟悉,但我认为地址是正确的。
下面的代码发生了冲突。
下面的代码没有冲突。
我的猜测是冲突的原因在上面的 test1 代码中。这个问题的原因可能是什么?
请原谅我糟糕的英语。
感谢你的帮助。
c - 如何使用 OpenSSL 验证来自 wolfSSL 的 ECC 签名
我是椭圆曲线密码学、openSSL 和 wolfSSL 的新手。我的上下文是我使用 openssl 从命令行生成 KeyPair 并将私钥导入我的代码。然后我使用 wolfSSL 生成签名并输出。
我将输出保存为 DER 格式并尝试使用 openSSL 进行验证,验证失败。
如果我使用 wolfSSL 在我的代码中签名和验证,它会成功验证,如果我在命令行中使用 openSSL 签名和验证,它也会成功。
是否存在我不确定的编码问题?
更新代码
私钥与 wolfSSL 一起用于对消息进行签名,然后与 openssl 一起使用公钥进行验证,但这会突然停止。
assembly - SoftConsole 4.0“错误指令”汇编程序
使用 MicroSemi SoftConsole 4.0 尝试编译和运行 FreeRTOS 演示项目,我遇到了错误“错误指令'[每一行代码]'”。基本上,由于某种原因,没有组装整个文件。我的控制台如下所示:
等等等等(它给了我一个几乎所有 1000 行代码的错误,我已经编辑了这些代码当然是为了易读性)。可以注意到,我使用的是 Cross ARM GNU Assembler ( arm-none-eabi-gcc
),而我的 ARM 汇编器选项是-x assembler-with-cpp
. 不知道我还需要包括什么,但是如果有人知道我可能在命令行中的某个地方丢失了一个潜在的汇编器标志或选项,那将非常有帮助。我什至不能 100% 确定我自己这里发生了什么,所以任何关于可能出了什么问题的解释都会有所帮助。我觉得这不是一个真正的编码问题,而更像是缺乏兼容性问题(可能是不正确的汇编格式?即使我使用的是交叉臂汇编器)。谢谢!
c - makefile 总是调用最后一个目标
这是我的生成文件。
不管我是调用 Make Openssl 、 Make Wolfssl 还是 Make Mbedssl。始终调用目标 Make Mbedssl。我尝试重新排列目标,并且始终调用最后一个位置的目标,而不管我从命令行传递的目标是什么。谢谢。
ubuntu - 如何在 ubuntu x64 上构建 wolfssl 共享库?
在ubuntu x64上,我尝试编译wolfssl
脚步:
./configure --enable-static --enable-shared --enable-openssh --enable-opensslextra
make
但是没有生成共享库。它仅适用于 32 位系统。
为什么?
cryptography - STM32F437 硬件加密功能与 WolfSSL 的集成
我有一个通过连接使用DTLS的项目。目前,我已经成功地仅使用软件实现在控制器上运行WolfSSL,但设置初始连接所需的时间令人厌恶,我现在希望在 MCU 中利用硬件加密来加速性能。从 WolfSSL 提供的STM32F2实现中,我只看到少数加密算法被重定向到硬件加密。在我的 DTLS 实现中,我使用了 WolfCrypt 提供的许多不同的算法。由于我对 SSL 库的非常低级别的细节非常缺乏经验,因此我需要一些帮助来重新定位 WolfSSL 中存在的几乎所有加密算法,从软件实现到 STM32 加密硬件。
根据 ST 的 Cube HAL 框架,HW Encrytion 支持的算法有
因此,我需要帮助更改 WolfSSL 中的这些算法,以便它们使用 STM32 HW Acc。如果有人可以提供这个样本,那将不胜感激。
我也在 WolfSSL 论坛上问过这个问题。如果我在那里发现任何有趣的东西,我会在这里更新以供其他人受益谢谢!
c - 是否可以使用 ECC 私钥进行加密?
由于相互身份验证,我想使用 ECC 私钥进行加密。但是我在 wolfcrypt (wolfSSL) 或 micro-ecc 库中找不到方法(或函数)。
可以使用(ECC)私钥进行加密吗?如果是这样,我该怎么做?