Skip to content

Release wolfCOSE 1.0.0#51

Merged
mattia-moffa merged 1 commit into
mainfrom
release-v1.0.0
Jun 25, 2026
Merged

Release wolfCOSE 1.0.0#51
mattia-moffa merged 1 commit into
mainfrom
release-v1.0.0

Conversation

@aidangarske

@aidangarske aidangarske commented Jun 11, 2026

Copy link
Copy Markdown
Member

Description

Release PR for wolfCOSE 1.0.0, the first stable release: a complete, zero-allocation CBOR (RFC 8949) + COSE (RFC 9052/9053) implementation on top of wolfCrypt.

This branch is rebuilt on top of current main, so it carries every hardening and fix that landed after the original release branch was cut. It adds only the release artifacts on top: include/wolfcose/version.h (1.0.0), ChangeLog.md, the README release-notes section, and the docs/ release notes.

Highlights

  • All six COSE message types (RFC 9052) in single-actor and multi-actor forms: COSE_Sign1 / COSE_Sign (multi-signer), COSE_Encrypt0 / COSE_Encrypt (multi-recipient), COSE_Mac0 / COSE_Mac
  • 40 algorithms: ES256/384/512, EdDSA (Ed25519/Ed448), PS256/384/512, AES-GCM/CCM, ChaCha20-Poly1305, HMAC, AES-MAC, Direct, AES Key Wrap, ECDH-ES+HKDF, and ML-DSA-44/65/87
  • Standardized post-quantum ML-DSA per RFC 9964 (AKP key type) and full RFC 8230 RSA private keys (n, e, d, p, q, dP, dQ, qInv)
  • Zero dynamic allocation, tiny footprint (ES256 Sign1 ~5.1 KB verify-only), MISRA C:2012/2023 checked
  • LIBWOLFCOSE_VERSION_STRING / LIBWOLFCOSE_VERSION_HEX for compile-time version checks

Included since the original release branch (now folded into the 1.0.0 ChangeLog)

  • API hardening: explicit WOLFCOSE_ALG_DIRECT required for COSE_Encrypt direct mode (zero-init algId rejected), wc_CBOR_PeekType NULL / end-of-buffer guarding with single-exit, const-qualified COSE_Encrypt0 key params
  • COSE_Mac empty protected header for direct-key recipients; preferred CBOR length for RSA n / d
  • Verify-only lean ECC builds that link against sign-disabled wolfCrypt (NO_ECC_SIGN, NO_ASN, no mp_int)
  • Security/CI gates: CodeQL, Semgrep, house-style, Coverity DEADCODE cleanup; expanded negative/boundary tests (4 KB large-payload round-trips, CBOR integer width boundaries, pinned MAC tag lengths, AES-CBC-MAC IV-chaining tamper checks)

Validation

  • Built and tested locally against wolfSSL 5.9.2-stable (first stable with the canonical wc_MlDsaKey API): make test, comprehensive, scenarios, tool-test, demos, zeroize-test, and the C++ public-header compile check all pass
  • CI version matrix auto-resolves the latest wolfSSL -stable (now 5.9.2) and enables the ML-DSA/PQC rows automatically

Release checklist

Copilot AI review requested due to automatic review settings June 11, 2026 02:40
@aidangarske aidangarske changed the title Release wolfCOSE 1.0.0 (ML-DSA per RFC 9964) Release wolfCOSE 1.0.0 Jun 11, 2026

This comment was marked as resolved.

@aidangarske aidangarske self-assigned this Jun 11, 2026
@aidangarske aidangarske marked this pull request as ready for review June 25, 2026 23:12
@aidangarske aidangarske requested a review from mattia-moffa June 25, 2026 23:21
@mattia-moffa mattia-moffa merged commit 0b16cee into main Jun 25, 2026
76 checks passed
@aidangarske aidangarske deleted the release-v1.0.0 branch June 25, 2026 23:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants