Files
MicrOBU/obu-firmware/external/vanetza-idf/asn1/systemx-pqc/README.md
T
Ashin Walpola d107534eb2 Keep vanetza-idf in obu-firmware, so a plain clone builds the firmware
obu-firmware builds against the vanetza-idf C-ITS library, which until now
came from the colleague's microbu-esp32c5 tree beside the repository and was
not tracked here, so a clone of this repository could not build the firmware
it ships. The library alone is now part of obu-firmware, as
obu-firmware/external/vanetza-idf: their external/vanetza-idf at commit
cf4b99f, unchanged (9775 files; see its PROVENANCE.md). CMake takes it from
there by default; -DVANETZA_IDF_DIR still points the build elsewhere.

The rest of the colleague's tree (their own VAM firmware, PKI tooling,
station-link Python tools, the V2X2MAP bridge) stays out of this repository
and gitignored; nothing is pushed to their repository. NOTES.md, docs/06,
TODO.md and the pcap verifier's usage line point at the new location.
2026-09-24 10:56:05 +02:00

2.0 KiB

SystemX Hybrid-PQC ASN.1 Profile

This directory keeps the experimental certificate additions separate from Vanetza's standard ASN.1 inputs. hybrid-pqc.patch contains the complete experimental delta. The unmodified input modules are fetched from pinned official ETSI Forge revisions during regeneration instead of being duplicated in the source tree.

The IEEE inputs are from the official v2025 tag of the ETSI Forge mirror:

  • repository: https://forge.etsi.org/rep/ITS/asn1/ieee1609.2.git
  • commit: 77e2c822a11bf8adbe9848ad3fd4f311925aff30
  • Ieee1609Dot2.asn SHA-256: 82b5e35cbaadae1c6b2f087626b10d52afc73779c9ac6700c6445830d8824e0b
  • Ieee1609Dot2BaseTypes.asn SHA-256: bf2b3d66d394449319323f8a59d8084d963c3ad55d6790e1436ab897221690fe

The two ETSI TS 103 097 inputs are fetched from the official Release 2 repository:

  • repository: https://forge.etsi.org/rep/ITS/asn1/sec_ts103097.git

  • commit: 65e6d8ea88b2bfb3aca3151dbedf07d89b97fd00

  • EtsiTs103097Module.asn SHA-256: 245a3c10c176497f658c6a4d9ec804d3226dda2ac10a4351e382ddb5afe9ff72

  • EtsiTs103097ExtensionModule.asn SHA-256: b94c9b373567dd9bfb15d61c8c206d5630f6b0c481ef41ddd574c96784a9eb1a

The patch adds only the certificate material used by this implementation:

  • the fixed-size FnDsa512Key and FnDsa512Signature types;
  • FN-DSA-512 choices in PublicVerificationKey and Signature;
  • altVerificationKey and altSignatureValue in ToBeSignedCertificate.

Regeneration

Normal builds compile the committed generated files and do not need network access, asn1c, Docker, or the patch utility. Regeneration is an explicit maintainer action:

cmake -S . -B build-asn1 \
  -DVANETZA_WITH_PQC=ON \
  -DVANETZA_ASN1_WITH_ASN1C=ON \
  -DVANETZA_ASN1_WITH_ISO=ON
cmake --build build-asn1 --target generate_asn1c

The generation target fetches and verifies the pristine inputs in its build directory, applies hybrid-pqc.patch, invokes asn1c, and refreshes the committed output under vanetza/asn1/systemx-pqc.