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.
53 lines
2.0 KiB
Markdown
53 lines
2.0 KiB
Markdown
# 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:
|
|
|
|
```shell
|
|
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`.
|