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.
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user