Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
wolfCOSE — 一个快速、便携且轻量级的COSE + CBOR实现,适用于嵌入式系统。支持PQC、FIPS 140-3、DO-178和MISRA C。由wolfSSL提供技术支持。 | Kitploit
工具/GitHubGitHub/wolfssl/wolfcose
嵌入式系统安全静态分析加密/解密工具物联网安全代码分析密码学硬件安全供应链安全错误配置固件分析
GitHubwolfssl/wolfcose

wolfCOSE

761071天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

一个快速、便携且轻量级的COSE + CBOR实现,适用于嵌入式系统。支持PQC、FIPS 140-3、DO-178和MISRA C。由wolfSSL提供技术支持。

查看仓库网站

wolfCOSE

wolfCOSE 是一个轻量级 C 库,实现了 CBOR (RFC 8949)、COSE (RFC 9052/9053) 以及后量子 ML-DSA for COSE (RFC 9964),并使用 wolfSSL 作为加密后端。

主要特性

  • 完整的 RFC 9052 消息集:所有六种 COSE 消息类型,包括多签名者 COSE_Sign 和多接收者 COSE_Encrypt / COSE_Mac
  • 后量子签名:ML-DSA (FIPS 204) 全部三个安全级别,支持 RFC 9964 COSE_Key(AKP 密钥类型,基于种子的私钥)
  • 40 种算法:涵盖签名、加密、MAC 和密钥分发
  • 零动态分配:无堆分配且非递归。每个操作都在调用方提供的缓冲区上运行,具有有界且可目标自定义的栈上限(无堆分配,零 .data/.bss)
  • 极小体积:ES256 COSE_Sign1 wolfCOSE (COSE + CBOR 引擎) 约 5.1 KB 仅验证,约 6.8 KB 签名+验证。包含 wolfCrypt 的总闪存为 约 26.2 KB 仅验证 (WOLFCOSE_LEAN_VERIFY) 和 约 34.6 KB 签名+验证
  • 快速:(ES256 COSE_Sign1, x86_64, wolfCrypt sp_256 汇编):66,538 签名/秒,26,437 验证/秒
  • 相同开销下的后量子:ML-DSA-44 COSE_Sign1 包含 wolfCrypt 的总闪存为 约 20.8 KB 仅验证 (WOLFCOSE_LEAN_VERIFY_MLDSA),约 35.8 KB 签名+验证,与经典 ES256 相差约 1 KB。仅 wolfCOSE 部分分别为 4.6 KB 和 约 6.6 KB。详见 体积
  • 通向 FIPS 140-3 之路:通过 wolfCrypt FIPS 证书 #4718(唯一加密依赖)

支持的算法

签名: ES256, ES384, ES512, EdDSA (Ed25519/Ed448), PS256/384/512, ML-DSA-44/65/87

加密: AES-GCM (128/192/256), ChaCha20-Poly1305, AES-CCM 变体

MAC: HMAC-SHA256/384/512, AES-MAC

密钥分发: 直接, AES 密钥包装, ECDH-ES+HKDF

COSE 消息类型 (RFC 9052)

wolfCOSE 已实现所有 RFC 9052 消息,包括单角色和多角色变体:

前提条件 (wolfSSL)

wolfCOSE 需要 wolfSSL 作为加密后端。最低支持版本:v5.8.0-stable(首个包含公开 wc_ForceZero 符号的版本)。后量子签名使用规范的 FIPS 204 wc_MlDsaKey API,该 API 在 wolfSSL v5.9.1-stable 之后 才可用;针对 v5.8.0–v5.9.1 版本构建 wolfCOSE 可以支持除 ML-DSA 之外的所有功能。理论上可以支持更早的 5.x 版本,但需要修改源代码;请联系 wolfSSL 获取商业支持。

根据所需算法选择构建配置。

最小构建 (ECC + AES-GCM)

这将支持 COSE Sign1 (ES256/384/512) 和 Encrypt0 (AES-GCM):

root@kitploit:~
cd wolfssl
./autogen.sh
./configure --enable-ecc --enable-aesgcm \
            --enable-sha384 --enable-sha512 --enable-keygen
make && sudo make install
sudo ldconfig

启用的算法: ES256, ES384, ES512, AES-GCM-128/192/256

为了进一步减小 wolfCrypt 体积,可以添加 --enable-cryptonly 以去除 TLS 栈并禁用 Sign1 + Encrypt0 构建中不会用到的算法:

root@kitploit:~
./configure --enable-cryptonly --enable-ecc --enable-aesgcm \
            --enable-sha384 --enable-sha512 --enable-keygen \
            --enable-lowresource \
            --disable-dh --disable-rsa --disable-aescbc \
            --disable-sha --disable-md5 --disable-chacha --disable-poly1305 \
            --disable-errorstrings

请参阅 尺寸调优 和 速度调优 以进一步压缩 MCU 上的 wolfCOSE 和 wolfCrypt。

最小构建(仅后量子 / ML-DSA)

用于纯后量子签名,支持 ML-DSA-44/65/87:

root@kitploit:~
cd wolfssl
./autogen.sh
./configure --enable-cryptonly --enable-mldsa
make && sudo make install
sudo ldconfig

启用的算法: ML-DSA-44, ML-DSA-65, ML-DSA-87 (--enable-mldsa 会自动引入 SHAKE-128/256。 wc_MlDsaKey API 需要 wolfSSL 版本高于 v5.9.1-stable。)

完整构建(所有算法)

root@kitploit:~
cd wolfssl
./autogen.sh
./configure --enable-ecc --enable-ed25519 --enable-ed448 \
            --enable-curve25519 --enable-aesgcm --enable-aesccm \
            --enable-sha384 --enable-sha512 --enable-keygen \
            --enable-rsapss --enable-chacha --enable-poly1305 \
            --enable-mldsa \
            --enable-hkdf --enable-aeskeywrap
make && sudo make install
sudo ldconfig

构建

root@kitploit:~
# 核心库 (libwolfcose.a)
make

# 运行单元测试
make test

# 构建并运行 CLI 工具往返测试(所有算法)
make tool-test

# 运行生命周期演示(11 种算法)
make demo

构建目标

快速开始

示例

请参见 examples/ 获取完整可运行代码:

  • sign1_demo.c, encrypt0_demo.c, mac0_demo.c:算法演示
  • lifecycle_demo.c:完整的边缘到云端工作流
  • comprehensive/:算法矩阵测试
  • scenarios/:固件签名、认证、设备配置

CI / 测试

每次推送和 PR 都会运行:

  • 构建 + 测试:Ubuntu, macOS, GCC 10-14, Clang 14-18
  • 全面测试:约 240 种算法组合测试
  • 静态分析:cppcheck, Clang analyzer, GCC -fanalyzer
  • MISRA C 2012:cppcheck --addon=misra 检查所有 wolfCOSE 代码路径
  • MISRA C 2023:严格的 GCC 警告和 clang-tidy (bugprone-*, cert-*, clang-analyzer-*, misc-*)
  • Coverity Scan:每日缺陷分析
  • 高级内部静态分析: Fenrir wolfssl 高级静态分析工具
  • 代码覆盖率:wolfcose.c 为 99.3%,wolfcose_cbor.c 为 100%
root@kitploit:~
make coverage                  # 使用 gcov 运行测试
make coverage-force-failure    # 包含加密失败路径测试
Coverity Scan 构建状态 CI 状态 Skoll 审查 Fenrir 审查

文档

完整文档见 Wiki:

  • 入门指南:构建说明和第一步
  • 消息类型:所有六种 RFC 9052 消息(Sign1, Sign, Encrypt0, Encrypt, Mac0, Mac)及代码示例
  • 算法:40 种支持算法的完整列表及其 COSE ID
  • API 参考:函数签名、数据结构、错误码
  • 宏:编译时配置选项
  • 体积:大小和速度数据(桌面和嵌入式设备)
  • 测试:测试基础设施、覆盖率和故障注入
  • MISRA 合规:MISRA C:2012 和 C:2023 合规状态及偏差理由
  • 项目结构:源文件布局

发布说明

当前版本为 1.0.0,是首个稳定版本:完整的 RFC 9052 COSE 消息集(所有六种消息类型,单角色和多角色),40 种算法,以及标准化的后量子 ML-DSA (RFC 9964),全部采用零动态分配。完整发布说明见 ChangeLog.md。

wolfCOSE 1.0.0 按照 wolfSSL 的开发和 QA 流程(参见 https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance)开发,并成功通过了质量标准。

许可证

wolfCOSE 是自由软件,采用 GPLv3 许可证;完整文本见 LICENSE。

版权所有 (C) 2026 wolfSSL Inc.

支持

如需商业授权、专业支持合同,或讨论将 wolfCOSE 部署到生产环境,请联系 wolfSSL。

下载工具
消息RFC 9052API用途
COSE_Sign1第 4.2 节wc_CoseSign1_Sign / wc_CoseSign1_Verify单签名者签名
COSE_Sign第 4.1 节wc_CoseSign_Sign / wc_CoseSign_Verify多签名者(对同一载荷的独立签名)
COSE_Encrypt0第 5.2 节wc_CoseEncrypt0_Encrypt / wc_CoseEncrypt0_Decrypt单接收者 AEAD
COSE_Encrypt第 5.1 节wc_CoseEncrypt_Encrypt / wc_CoseEncrypt_Decrypt多接收者(一个密文,通过 Direct / AES-KW / ECDH-ES 分发给多个接收者)
COSE_Mac0第 6.2 节wc_CoseMac0_Create / wc_CoseMac0_Verify单接收者 MAC
COSE_Mac第 6.1 节wc_CoseMac_Create / wc_CoseMac_Verify多接收者 MAC(共享 MAC 密钥,分发给接收者)
COSE_Key / COSE_KeySet第 7 节wc_CoseKey_Encode / wc_CoseKey_Decode所有密钥类型的密钥序列化
目标描述
make all构建 libwolfcose.a(仅核心库)
make shared构建 libwolfcose.so
make test构建并运行 CBOR 和 COSE 单元测试
make tool构建 CLI 工具 (tools/wolfcose_tool)
make tool-test所有 17 种算法的往返自测
make demo构建并运行生命周期演示(11 种算法)
make clean清除所有构建产物