Building EUDI Wallet Verifiers on wolfSSL: mDL, CBOR/COSE, and Post-Quantum Credentials

Under eIDAS 2.0, every EU Member State must offer a certified EU Digital Identity Wallet by 24 December 2026, and by December 2027 regulated relying parties in banking, telecom, transport, energy, health, and digital infrastructure must accept them. That second deadline is the one embedded developers should watch: it puts millions of verifier devices into the field. Point-of-sale terminals, age-verification kiosks, access control readers, border units, and in-vehicle driver identification all need to verify a credential presented from a phone, in C, on constrained hardware.

Where the embedded work is

The wallet runs on a phone, and its keys live in a certified Wallet Secure Cryptographic Device – a secure element, eSIM, or remote HSM. The verifier is the open opportunity. When a wallet presents a mobile driving licence over NFC, BLE, or QR under ISO/IEC 18013-5, the reader must parse CBOR structures, verify a COSE_Sign1 signature over the Mobile Security Object (typically ES256), validate the Document Signer chain to an IACA trust anchor, recompute SHA-256 digests against valueDigests, and establish a session with ephemeral ECDH, HKDF, and AES-256-GCM.

All of it is wolfSSL product functionality today.

Product Role in the verifier
wolfCOSE CBOR (RFC 8949) and COSE (RFC 9052/9053) engine. Builds and verifies mdoc structures and IssuerAuth.
wolfCrypt ECDSA, ECDH, HKDF, AES-GCM, SHA-2. FIPS 140-3 certificate #4718.
wolfSSL TLS 1.3 / DTLS 1.3 for the backend leg, trust list retrieval, and online OpenID4VP flows.
wolfBoot Secure boot and firmware update, so the terminal itself is trustworthy.
wolfTPM / wolfHSM Device identity and key protection, including automotive HSM targets.
wolfPKCS11 Standard key access on the issuer and trust-service side.

One crypto core underneath all of it means a single validated implementation to qualify, not six.

Post-quantum credentials, available now

The EU’s Coordinated Implementation Roadmap for post-quantum cryptography requires national PQC plans by the end of 2026, high-risk systems migrated by 2030, and everything feasible by 2035. Identity infrastructure is squarely in scope: the eIDAS trust chain is PKI-heavy with long-lived anchors, and wallet providers are named essential entities under NIS2.
wolfCOSE already implements ML-DSA (FIPS 204) for COSE per RFC 9964 at all three security levels. A PQC-signed credential is a supported configuration today, not a roadmap item – and the footprint barely moves:

Profile Algorithm wolfCOSE Total with wolfCrypt
WOLFCOSE_LEAN ES256 sign + verify 6.8 KB 34.6 KB
WOLFCOSE_LEAN_VERIFY ES256 verify-only 5.1 KB 26.2 KB
WOLFCOSE_LEAN_MLDSA ML-DSA-44 sign + verify 6.6 KB 35.8 KB
WOLFCOSE_LEAN_VERIFY_MLDSA ML-DSA-44 verify-only 4.6 KB 20.8 KB

Post-quantum verify-only is smaller than classical ES256 verify-only, because ML-DSA skips the DER signature conversion ECDSA requires.

Built for the devices that will ship

A 26.2 KB total verify-only build means mDL verification fits on a microcontroller, not just a Linux SBC. wolfCOSE performs zero dynamic allocation with no .data or .bss usage, running every operation on caller-provided buffers within a bounded stack ceiling. It is developed with MISRA C:2012 and MISRA C:2023 checks, Coverity, CodeQL, and sanitizers in CI. Because wolfCrypt is the sole crypto backend, a wolfCOSE deployment inherits a direct path to FIPS 140-3 certificate #4718. wolfSSL products are dual licensed under GPLv3 and commercial terms, so proprietary verifier firmware is fully supported.

Getting started

wolfCOSE builds against wolfSSL v5.8.0-stable or later:

git clone https://github.com/wolfSSL/wolfCOSE.git
cd wolfCOSE
make && make test

See the wolfCOSE repository and its wiki for the Footprint and Algorithms pages.
Building an EUDI verifier, an mDL reader, or a PQC migration plan for identity infrastructure? Contact us at facts@wolfSSL.com or +1 425 245 8247, and visit www.wolfssl.com. wolfSSL supports TLS 1.3, DTLS 1.3, FIPS 140-3, and the full NIST post-quantum suite.

Download wolfSSL Now