From 91cfffa6f24609bf6f061952c94ae42c6233c9db Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sun, 15 Mar 2026 18:39:23 +0100 Subject: [PATCH] docs: fix README OCPP 2.0.x notes with spec-verified FR references --- README.md | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 6ec8b1af..dd189303 100644 --- a/README.md +++ b/README.md @@ -496,8 +496,6 @@ make SUBMODULES_INIT=true ### Version 2.0.x -> **Note**: OCPP 2.0.x Core profile mandatory commands are now implemented. - #### A. Security - :white_check_mark: SecurityEventNotification @@ -511,7 +509,7 @@ make SUBMODULES_INIT=true - :white_check_mark: SetNetworkProfile - :white_check_mark: SetVariables -> **Note**: `SetNetworkProfile` validates `configurationSlot` and returns `Accepted` for valid requests per B09.FR.01. The simulator does not perform actual network profile switching. SecurityProfile downgrade detection (B09.FR.04) and slot-in-priority cross-check (B09.FR.05) are not implemented. +> **Note**: `SetNetworkProfile` validates and accepts valid requests but does not persist the connection profile data (B09.FR.01). #### C. Authorization @@ -547,21 +545,12 @@ make SUBMODULES_INIT=true - :white_check_mark: GetLog - :white_check_mark: LogStatusNotification -> **Note**: `GetLog` triggers a simulated async lifecycle (`Uploading` → `Uploaded`) with `LogStatusNotification` updates. - #### L. FirmwareManagement - :white_check_mark: FirmwareStatusNotification - :white_check_mark: UpdateFirmware -> **Note**: `UpdateFirmware` implements a full simulated lifecycle (`DownloadScheduled` → `Downloading` → `Downloaded` → `SignatureVerified` → `InstallScheduled` → `Installing` → `Installed`) with `FirmwareStatusNotification` at each stage. Additional behaviors: -> -> - Firmware signing certificate PEM validation with `SecurityEventNotification` on failure -> - Active transactions block firmware update (`TxInProgress`) -> - `retrieveDateTime`/`installDateTime` scheduling support -> - Invalid firmware location URL detection (`DownloadFailed`) -> - Duplicate update cancellation via `AcceptedCanceled` status -> - `SecurityEventNotification` (`FirmwareUpdated`) on completion +> **Note**: Firmware signature verification required by L01.FR.04 always succeeds (`SignatureVerified`). `retries`/`retryInterval` parameters are accepted but not honored. #### M. ISO 15118 CertificateManagement @@ -573,21 +562,13 @@ make SUBMODULES_INIT=true - :white_check_mark: InstallCertificate - :white_check_mark: SignCertificate -> **Note**: Certificate management implementation details: -> -> - **Real PKCS#10 CSR generation**: `SignCertificate` generates a real Certificate Signing Request (RFC 2986) using RSA 2048-bit keys and SHA-256 signature via `node:crypto` -> - **X.509 certificate validation**: `CertificateSigned` and `InstallCertificate` validate certificate validity period (`notBefore`/`notAfter`) and issuer presence per A02.FR.06. Full chain-of-trust hierarchy verification is not implemented -> - **MaxCertificateChainSize enforcement**: `CertificateSigned` rejects certificate chains exceeding the configured `MaxCertificateChainSize` with `SecurityEventNotification` per A02.FR.16 -> - **ChargingStationCertificate protection**: `DeleteCertificate` prevents deletion of the Charging Station Certificate per M04.FR.06 -> - **OCSP stub**: `GetCertificateStatus` forwards the OCSP request data to the CSMS but does not contact an external OCSP responder. Full OCSP integration would require external responder configuration and network access +> **Note**: Certificate hierarchy verification required by A02.FR.06 is not implemented; only validity period is checked. #### N. CustomerInformation - :white_check_mark: CustomerInformation - :white_check_mark: NotifyCustomerInformation -> **Note**: `CustomerInformation` validates N09.FR.09 (exactly one customer identifier required when `report=true`). Report responses are sent via `NotifyCustomerInformation` with `seqNo`/`tbc` pagination. - #### P. DataTransfer - :white_check_mark: DataTransfer -- 2.53.0