Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Build and Test

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Codespell

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/comprehensive-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Comprehensive Tests

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Code Coverage

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest

# Only run from the original repo, not forks
if: github.repository == 'aidangarske/wolfCOSE'
if: github.repository == 'wolfSSL/wolfCOSE'

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/empty-brace-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Empty Brace Scope Scan

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Examples

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/minimal-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Minimal Build

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/misra-2012.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ name: MISRA C 2012

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down Expand Up @@ -73,7 +73,7 @@ jobs:
# Recipients, Key Wrap, ECDH, CBOR, Key encode/decode, Float
#
# MISRA C:2012 Deviations (documented at
# https://github.com/aidangarske/wolfCOSE/wiki/MISRA-Compliance):
# https://github.com/wolfSSL/wolfCOSE/wiki/MISRA-Compliance):
#
# Rule 2.5 — Feature-gate macros (WOLFCOSE_SIGN1 etc.) are defined
# conditionally; cppcheck false-positive when both parent
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/misra-2023.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ name: MISRA C 2023 Compliance

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down Expand Up @@ -193,7 +193,7 @@ jobs:
run: |
export WOLFSSL_DIR=$HOME/wolfssl-install
# Deviations (documented at
# https://github.com/aidangarske/wolfCOSE/wiki/MISRA-Compliance):
# https://github.com/wolfSSL/wolfCOSE/wiki/MISRA-Compliance):
#
# -bugprone-branch-clone: Different COSE algorithms intentionally
# map to the same wolfCrypt value (e.g. ES512 and EdDSA both
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/multi-compiler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Multiple Compilers

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
trigger:
name: Trigger All CI Workflows
runs-on: ubuntu-latest
if: github.repository == 'aidangarske/wolfCOSE'
if: github.repository == 'wolfSSL/wolfCOSE'

steps:
- name: Dispatch all workflows
Expand Down Expand Up @@ -44,7 +44,7 @@ jobs:
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: workflow,
ref: 'master',
ref: 'main',
});
results.push(` OK ${workflow}`);
core.info(`Triggered ${workflow}`);
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sanitizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Sanitizer

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scenarios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Scenario Examples

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Static Analysis

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/wolfssl-versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: wolfSSL Version Matrix

on:
push:
branches: [ 'master', 'main', 'release/**' ]
branches: [ 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
Expand Down
55 changes: 55 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# wolfCOSE Release 0.1.0 (May 29, 2026)

Release 0.1.0 is the initial alpha release of wolfCOSE, a zero-allocation C
library implementing CBOR (RFC 8949) and COSE (RFC 9052/9053) on top of
wolfCrypt. As an alpha, the public API is not yet frozen and may change before
1.0.

## Vulnerabilities

* None. This is the initial release.

## New Feature Additions

* CBOR engine implementing RFC 8949 encode/decode with no external dependency.
* All six COSE message types (RFC 9052): `COSE_Sign1`, `COSE_Sign`,
`COSE_Encrypt0`, `COSE_Encrypt`, `COSE_Mac0`, and `COSE_Mac`, including the
multi-signer, multi-recipient, and countersignature variants.
Comment thread
aidangarske marked this conversation as resolved.
* 40 algorithms across signing, encryption, MAC, and key distribution
(RFC 9053): ES256/384/512, EdDSA (Ed25519/Ed448), PS256/384/512,
ML-DSA-44/65/87, AES-GCM (128/192/256), ChaCha20-Poly1305, AES-CCM variants,
HMAC-SHA256/384/512, AES-MAC, Direct, AES Key Wrap, and ECDH-ES+HKDF.
* Native post-quantum signatures: ML-DSA (FIPS 204) at all three security
levels, using the draft COSE algorithm IDs -48/-49/-50.
* Zero dynamic allocation: every operation uses caller-provided buffers.
* Path to FIPS 140-3 through wolfCrypt FIPS Certificate #4718 (sole crypto
dependency).
* `LIBWOLFCOSE_VERSION_STRING` / `LIBWOLFCOSE_VERSION_HEX` in
`wolfcose/version.h` for compile-time version checks.

## Fixes

* None. This is the initial release.

## Improvements/Optimizations

* Minimal footprint: 7.5 KB `.text` for a Sign1+ECC build, 25.6 KB for the full
40-algorithm build, with zero `.data`/`.bss`.
* MISRA C:2012 and C:2023 checked.
* CI matrix covering Ubuntu/macOS, GCC 10-14 and Clang 14-18, ~240 algorithm
combination tests, static analysis (cppcheck, Clang analyzer, GCC
`-fanalyzer`), sanitizers (ASan/UBSan), Coverity, and a nightly wolfSSL
compatibility matrix.

---

wolfCOSE 0.1.0 has been developed according to wolfSSL's development and QA
process (see
https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance)
and successfully passed the quality criteria.

For additional vulnerability information visit the vulnerability page at
https://www.wolfssl.com/docs/security-vulnerabilities/

Requires wolfSSL 5.8.0 or later as the crypto backend. See README.md for build
instructions.
32 changes: 15 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,9 @@ make coverage-force-failure # Include crypto failure path testing
<img alt="Coverity Scan Build Status"
src="https://scan.coverity.com/projects/32918/badge.svg"/>
</a>
<a href="https://github.com/aidangarske/wolfCOSE/actions">
<a href="https://github.com/wolfSSL/wolfCOSE/actions">
<img alt="CI Status"
src="https://img.shields.io/github/actions/workflow/status/aidangarske/wolfCOSE/build-test.yml?label=CI&logo=github"/>
src="https://img.shields.io/github/actions/workflow/status/wolfSSL/wolfCOSE/build-test.yml?label=CI&logo=github"/>
</a>
<a href="https://github.com/wolfssl/skoll"> <img alt="Skoll Review" src="https://img.shields.io/badge/skoll-passed-blue"/>
</a>
Expand All @@ -159,22 +159,22 @@ make coverage-force-failure # Include crypto failure path testing

## Documentation

Full documentation is available in the [Wiki](https://github.com/aidangarske/wolfCOSE/wiki):
Full documentation is available in the [Wiki](https://github.com/wolfSSL/wolfCOSE/wiki):

- [Getting Started](https://github.com/aidangarske/wolfCOSE/wiki/Getting-Started): Build instructions and first steps
- [Message Types](https://github.com/aidangarske/wolfCOSE/wiki/Message-Types): All six RFC 9052 messages (Sign1, Sign, Encrypt0, Encrypt, Mac0, Mac) with code samples
- [Algorithms](https://github.com/aidangarske/wolfCOSE/wiki/Algorithms): Complete list of 40 supported algorithms with COSE IDs
- [API Reference](https://github.com/aidangarske/wolfCOSE/wiki/API-Reference): Function signatures, data structures, error codes
- [Macros](https://github.com/aidangarske/wolfCOSE/wiki/Macros): Compile-time configuration options
- [Testing](https://github.com/aidangarske/wolfCOSE/wiki/Testing): Test infrastructure, coverage, and failure injection
- [MISRA Compliance](https://github.com/aidangarske/wolfCOSE/wiki/MISRA-Compliance): MISRA C:2012 and C:2023 compliance status and deviation rationale
- [Project Structure](https://github.com/aidangarske/wolfCOSE/wiki/Project-Structure): Source file layout
- [Getting Started](https://github.com/wolfSSL/wolfCOSE/wiki/Getting-Started): Build instructions and first steps
- [Message Types](https://github.com/wolfSSL/wolfCOSE/wiki/Message-Types): All six RFC 9052 messages (Sign1, Sign, Encrypt0, Encrypt, Mac0, Mac) with code samples
- [Algorithms](https://github.com/wolfSSL/wolfCOSE/wiki/Algorithms): Complete list of 40 supported algorithms with COSE IDs
- [API Reference](https://github.com/wolfSSL/wolfCOSE/wiki/API-Reference): Function signatures, data structures, error codes
- [Macros](https://github.com/wolfSSL/wolfCOSE/wiki/Macros): Compile-time configuration options
- [Testing](https://github.com/wolfSSL/wolfCOSE/wiki/Testing): Test infrastructure, coverage, and failure injection
- [MISRA Compliance](https://github.com/wolfSSL/wolfCOSE/wiki/MISRA-Compliance): MISRA C:2012 and C:2023 compliance status and deviation rationale
- [Project Structure](https://github.com/wolfSSL/wolfCOSE/wiki/Project-Structure): Source file layout

## Blogs
## Release Notes

Blogs and update can be found here:
The current release is **0.1.0 (alpha)**. See [ChangeLog.md](ChangeLog.md) for the full release notes.

[wolfCOSE Blogs](https://aidangarske.github.io/wolfCOSE/)
wolfCOSE 0.1.0 has been developed according to wolfSSL's development and QA process (see https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance) and successfully passed the quality criteria.

## License

Expand All @@ -184,6 +184,4 @@ Copyright (C) 2026 wolfSSL Inc.

## Support

> **Note:** While wolfCOSE is currently maintained by wolfSSL developers, it is not yet classified as an officially supported product. It was designed from the ground up to meet the same quality standards as the rest of the wolfSSL suite with future adoption in mind. We are eager to transition this to a fully supported product as demand grows; if your organization requires official support or has specific feature requirements or you just have general questions or guidance with product, please reach out.

For commercial licensing, professional support contracts, or to discuss moving wolfCOSE into your production environment, contact [wolfSSL](https://www.wolfssl.com/contact/).
wolfCOSE is a wolfSSL product, built and maintained to the same quality standards as the rest of the wolfSSL suite. For commercial licensing, professional support contracts, feature requests, or general questions, contact [wolfSSL](https://www.wolfssl.com/contact/) or email facts@wolfssl.com.
22 changes: 0 additions & 22 deletions docs/_config.yml

This file was deleted.

68 changes: 0 additions & 68 deletions docs/_posts/2026-04-30-introducing-wolfcose.md

This file was deleted.

Loading
Loading